为什么总是RE?自己测试都是对的(包括最后一组数据)

P1023 [NOIP2000 普及组] 税收与补贴问题

更展 ``` #include<bits/stdc++.h> using namespace std; long a[100001][3]; int main(){ long yu,i,j,k=0,s,ge,sc=100001; long temp1,temp2,jl=1,cj,t1,t2,q1,q2; cin>>yu; for(i=0;i<=100000;i++){ cin>>a[i][1]>>a[i][2]; if(i>0){ if(a[i][1]>0&&a[i][1]-a[i-1][1]>1){ temp1=a[i][1];temp2=a[i][2]; t1=a[i-1][1];t2=a[i-1][2]; a[i][1]=t1+1; a[i][2]=t2-((t2-temp2)/(temp1-t1)); for(j=i;a[j][1]<temp1;j++){ a[j][1]=a[j-1][1]+1; a[j][2]=a[j-1][2]-((t2-temp2)/(temp1-t1)); if(a[j][1]==temp1) i=j; } }} if(a[i][1]==-1&&a[i][2]==-1) {s=i-1; break;} } cin>>cj; for(i=s+1;i<=100000;i++){ a[i][1]=a[i-1][1]+1; a[i][2]=a[i-1][2]-cj; if(a[i][2]<0) {ge=i-1; break; } } for(i=1;i<=100000;i++) { if(a[i][1]==yu) { k=i; break; } } for(i=a[0][1]-yu;i<=20000;i++){ for(j=0;j<=ge;j++){ q1=(yu+i-a[0][1])*a[k][2]; q2=(a[j][1]+i-a[0][1])*a[j][2]; if(q1<q2){ break; } if(j==ge&&q1>=q2){ if(abs(sc)>abs(i)) sc=i; } } } if(sc!=100001) cout<<sc; else cout<<"NO SOLUTION"; return 0; } ```
by 刘远超 @ 2019-07-22 16:49:07


估计是格式问题(绿名蒻蒟的瞎逼逼)
by Chanter @ 2019-08-04 21:50:22


@[yuwenkai](/space/show?uid=231938) 谢谢!
by 刘远超 @ 2019-09-13 10:54:09


|