P1190 [NOIP2010 普及组] 接水问题

分析:因为每次打完水都是最大的下一个,所以次数为m+已打完的人数,当打完后将这个水龙头赋为现在打的水的人的下一个
#include<bits/stdc++.h> using namespace std; int b[200000],i,j,n,m,bj[20000],a[200000],as,falg=0,ii,bjj; int main(){ cin>>n>>m; for(i=1;i<=n;i++){ cin>>a[i]; bj[i]=i; } int s=0; while(1){ s++; for(j=1;j<=m;j++){ a[bj[j]]--; if(a[bj[j]]==0){ as++; bj[j]=m+as; } if(as==n) { cout<<s; return 0; } } if(as==n) { cout<<s; return 0; } } }
posted @ 2022-08-16 11:19  TheMagician  阅读(105)  评论(0)    收藏  举报