比赛 2010年noip 评测结果 AAAAAAAAAA
题目名称 接水问题 最终得分 100
用户昵称 做个人吧 运行时间 0.031 s
代码语言 C++ 内存使用 3.16 MiB
提交时间 2018-05-17 19:36:13
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <iomanip>
#include <cmath>
#include <cstring>
#include <algorithm>
#include <vector>
using namespace std;
int total=0;
int main(){
	freopen("waterj.in","r",stdin);
	freopen("waterj.out","w",stdout);
	int n, m;
	cin>>n>>m;
	int w[n], nex=m;
	for(int i=0;i<n;i++){
		cin>>w[i];
	}
	int wait[m];
	bool ok=1;
	for(int i=0;i<m;i++){
		wait[i]=i;
	}
	while(ok){
		ok=0;
		for(int j=0;j<m;j++){
			if(w[wait[j]]>0){
				w[wait[j]]--;
			}
			if(m==1){
				if(w[wait[j]]==0){
					if(nex<n){
						wait[j]=nex;
						nex++;
					}
				}
				if(w[n-1]!=0){
					ok=1;
				}
			}else{
				if(w[wait[j]]==0){
					if(nex<n){
						wait[j]=nex;
						nex++;
					}
				}else{
					ok=1;
				}
			}
		}
		total+=1;
	}
	cout<<total;
	return 0;
}