【洛谷】P2006 赵神牛的游戏 c++

JakietYu

关注

阅读 44

2022-04-25

题目描述

在 DNF 中,赵神牛有一个缔造者,他一共有 k 点法力值,一共有 m 个技能,每个技能耗费的法力值为 ai​,可以造成的伤害为 bi​,而 boss 的体力值为 n,请你求出它放哪个技能,才可以打死 boss。

当然,赵神牛技术很菜,他一局只放一个技能,不过每个技能都可以放无数次。

输入格式

第一行有三个整数,分别表示 k,m,n。

后面 m 行,每行两个整数,第 (i + 1) 行的整数表示耗费的法力值 ai​ 和造成的伤害 bi​。

输出格式

输出仅一行,既可以杀死 boss 的技能序号,如果有多个,按从小到大的顺序输出,中间用一个空格隔开;如果没有技能能杀死 boss,输出 -1

输入输出样例

输入 #1

100 3 5000
20 1000
90 1
110 10000

输出 #1

1

输入 #2

50 4 10
60 100
70 1000
80 1000
90 0

输出 #2

-1

说明/提示

数据规模与约定

对于全部的测试点,满足:

  • 0≤n,m,k≤3×10⁴,
  • 1≤ai​,bi​≤2147483647。

AC代码:

#include<bits/stdc++.h>
using namespace std;

int main(){
    int k, n;
    int m;
    cin >> k >> m >> n;
    int a, b;
    int c[m+5] = {0};
    int flage = 0;
    for(int i = 1; i <= m; i++){
        cin >> a >> b;
        if(a == 0){
            c[i]++;
            flage = 1;
        }
        else if(((k / a) * b) >= n){
            c[i]++;
            flage = 1;
        }
    }
    int temp=0;
    if(flage == 0) cout << "-1";
    else{
        for (int i = 1; i <= m+1; i++)
        {
            if(c[i] == 1 && temp==0){
                cout << i ;
                temp=1;
            }
            else if(c[i]==1 && temp==1){
                cout << " " << i;
            }
        }
        
    }
    return 0;
}

说实话,我错了三次……丢脸了&&

题目来源:洛谷 

 

精彩评论(0)

0 0 举报