不明白为什么会RE…… 看了2个题解说是a[i]或b[i]有可能是0导致的,改了一下还是RE………………发了一个讨论。有几位大神回复了我,说是数组越界导致的。我又试了试,还是70分。有没有大神帮我看一下这个程序有什么问题:
#include<bits/stdc++.h>
using namespace std;
int k,m,n;//k 法力值 m 技能数量 n BOOS血量
int a[100000],b[100000];//a 技能消耗的法力值 b 技能的伤害
bool ans = false;//ans 是否有技能可以杀死BOOS
int hurt;//hurt 每一个法力的伤害
int main(){
cin>>k>>m>>n;
for(int i=1;i<=m;i++){
cin>>a[i]>>b[i];
}
for(int i=1;i<=m;i++){
if(b[i] == 0){
continue;
}
if(a[i] == 0){
cout<<i<<" ";
ans = true;
}
hurt = (k/a[i])*b[i];
if(hurt>=n){
cout<<i<<;
ans = true;
}
}
if(!ans){
cout<<"-1"<<endl;
}
return 0;
}