记录编号 447228 评测结果 AAAAAAATAA
题目名称 [NOIP 2010PJ]接水问题 最终得分 90
用户昵称 Gravatar爆零自动机 是否通过 未通过
代码语言 C++ 运行时间 1.009 s
提交时间 2017-09-09 17:59:13 内存使用 0.35 MiB
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <algorithm>
using namespace std;

const int maxm=100+3;
const int maxn=10000+3;

int n,m;
int w[maxn];
int lin[maxm];
int js[maxm];
int ans,st;

int main()
{
	freopen("waterj.in","r",stdin);
	freopen("waterj.out","w",stdout);
	
	scanf("%d%d",&n,&m);
	for(int i=1; i<=n; i++)
		scanf("%d",&w[i]);
	for(int i=1; i<=m; i++)
		lin[i]=w[i];
	st=m;
	while(st!=n)
	{
		int minw=100+1;
		int len=0;
		for(int i=1; i<=m; i++)
		if(lin[i])
			minw=min(minw,lin[i]);
		for(int i=1; i<=m; i++)
		{
			lin[i]-=minw;
			if(!lin[i])
				js[++len]=i;
		}
		for(int i=1; i<=len; i++)
			lin[js[i]]=w[++st];
		ans+=minw;
	}
	int t=0;
	for(int i=1; i<=m; i++)
		t=max(t,lin[i]);
	
	printf("%d",ans+t);
	
	return 0;
}