改了亿下,还是70分3个RE
查看原帖
改了亿下,还是70分3个RE
741223
JRXRAY楼主2023/2/4 14:44

不明白为什么会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; 
} 
2023/2/4 14:44
加载中...