球猪qwq
查看原帖
球猪qwq
379113
dtrthg楼主2021/11/21 22:01

最后一个数一直减不掉呜呜呜

#include <iostream>
#include <cstdio>
using namespace std;
struct Stu
{
	int w,s;//s表示装了多少水,w表示要装多少水 
}a[10010];
int main()
{
	int n,m;cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i].w;
	}
	long long ans=0;
	while(n>0)//直到都装完水为止 
	{
		for(int i=1;i<=m;i++)//每一秒m个水龙头装的水 
		{
			a[i].s++;//装到的水+1 
			if(a[i].s==a[i].w)//如果已经装够水 
			{
				a[i].s=0;//把这个位置装的水归0 
				a[i].w=a[m+1].w;//把下一位同学移上来 
				for(int j=m+2;j<=n;j++)//刷新队伍 
				{
					a[j-1].w=a[j].w;
				}
				a[n].w=0;//空出的位置归0 
				n--;//要装水的人数-1 
				if(n==0) break;//如果都装完了就没必要看下一个 
			}
		}
		ans++;//时间+1秒 
	}
	cout<<ans<<endl;
	return 0;
}
2021/11/21 22:01
加载中...