70分求助

P2006 赵神牛的游戏

第一,$a[i] = 0$ 会死循环,第二,变量 $x$ 会爆 long long
by yzk050822 @ 2024-03-31 19:58:56


爆内存了,把if判断加到while循环里就好了 ``` #include<bits/stdc++.h>//万能头文件 using namespace std; int a[30010],b[30010];//改的是这里 int main(){ int k,m,n;//还有这里 cin>>k>>m>>n; bool flag=1; for(int i=0;i<m;i++) { cin>>a[i]>>b[i]; } for(int i=0;i<m;i++) { int x=n; int y=k; while(y>=a[i])//判断条件不用写y>0,因为a[i]不可能等于零或小于零 { x-=b[i]; y-=a[i]; if(x<=0)//这里也改了 { cout<<i+1<<" "; flag=0; break; } } } if(flag) { cout<<-1; } return 0; } ```
by bling_bling @ 2024-03-31 20:10:23


@[bling_bling](/user/799767) 说错了,是爆时间了
by bling_bling @ 2024-03-31 20:11:32


|