30分求助!

P1190 [NOIP2010 普及组] 接水问题

1. 您 `for(int i=1;i<=a;i++)` 这个循环里应该会数组越界。 2. 主函数里最好不要开太大的数组,因为开不下。 改成 ``` #include<bits/stdc++.h> using namespace std; int s[20000+3]; int main() { int a,b; cin>>a>>b; int ans=0; for(int i=1;i<=a;i++)cin>>s[i]; int t=b+1; while(t<=a+b) { for(int i=1;i<=b;i++) { s[i]--; if(s[i]==0) { s[i]=s[t]; t++; } } ans+=1; } cout<<ans; return 0; } ``` 就好了
by 阿丑 @ 2021-05-19 13:30:59


```cpp #include<bits/stdc++.h> using namespace std; int warc[11001]; int n,m,ans,num; int main() { cin>>n>>m; for(int i=0;i<=n-1;i++) { cin>>warc[i]; } num=m+1; while(num<=n+m) { for(int i=0;i<=m-1;i++) { warc[i]--; if(warc[i]==0) { warc[i]=warc[num]; num++; } } ans++; } cout<<ans; return 0; } ```
by A宋锦瑞A @ 2021-07-20 13:48:43


我也是,求解
by A宋锦瑞A @ 2021-07-20 13:49:05


@[阿丑](/user/364963) 万分感谢
by szr_191852613 @ 2021-08-17 22:28:44


|