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