赵神牛的游戏
题目描述
在 DNF 中,赵神牛有一个缔造者,他一共有 k k k 点法力值,一共有 m m m 个技能,每个技能耗费的法力值为 a i a_i ai,可以造成的伤害为 b i b_i bi,而 boss 的体力值为 n n n,请你求出它放哪个技能,才可以打死 boss。
当然,赵神牛技术很菜,他一局只放一个技能,不过每个技能都可以放无数次。
输入格式
第一行有三个整数,分别表示 k , m , n k,m,n k,m,n。
后面 m m m 行,每行两个整数,第 ( i + 1 ) (i + 1) (i+1) 行的整数表示耗费的法力值 a i a_i ai 和造成的伤害 b i b_i bi。
输出格式
输出仅一行,即可以杀死 boss 的技能序号,如果有多个,按从小到大的顺序输出,中间用一个空格隔开;如果没有技能能杀死 boss,输出 -1
。
样例 #1
样例输入 #1
100 3 5000
20 1000
90 1
110 10000
样例输出 #1
1
样例 #2
样例输入 #2
50 4 10
60 100
70 1000
80 1000
90 0
样例输出 #2
-1
样例 #3
样例输入 #3
500 5 10000
60 100
0 200
80 1000
90 0
10 555
样例输出 #3
2 5
提示说明
数据规模与约定
对于全部的测试点,满足:
- 0 ≤ n , m , k ≤ 3 × 1 0 4 0\le n,m,k\le 3\times 10^4 0≤n,m,k≤3×104,
- 0 ≤ a i , b i ≤ 2147483647 0 \leq a_i,b_i\le 2147483647 0≤ai,bi≤2147483647。
代码内容
#include <iostream>
#include <algorithm>
#include <bits/stdc++.h>
using namespace std;
int main()
{
int k,m,n;
//法力值,技能数, boss 的体力值
cin>>k>>m>>n;
int a,b,i,j;
int index=0;
for(i=0;i<m;i++)
{
//耗费的法力值 a,造成的伤害 b
cin>>a>>b;
if(a==0&&b>0)
{
cout<<i+1<<" ";
index=1;
}
else if(k/a*b>=n&&b!=0)
{
cout<<i+1<<" ";
index=1;
}
}
if(index==0)
cout<<-1<<endl;
return 0;
}