关于可怜的40分
查看原帖
关于可怜的40分
242405
wlxs2006楼主2020/7/6 18:14
#include<iostream>
using namespace std;
int n,m,a[10003],h[103],ans=0,t[10003],top,now;
bool fini=false;
void fill(){
	top=0;
	int minn=2e9;
	for(int i=1;i<=m;++i){
		if(h[i]<minn){
			top=1;
			t[top]=i;
			minn=h[i];
		}
		else if(h[i]==minn){
			t[++top]=i;
		}
	}
	for(int i=1;i<=m;++i) h[i]-=minn;
	ans+=minn;
	for(int i=1;i<=top;++i){
		h[t[i]]=a[++now];
		if(now==n){
			fini=true;
			break;
		}
	}
}
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;++i) cin>>a[i];
	for(int i=1;i<=m;++i) h[i]=a[i];
	now=m;
	while(!fini){
		fill();
		if(now>=n){
			int maxx=-2e9;
			for(int i=1;i<=n;++i)
				if(h[i]>maxx) maxx=h[i];
			ans+=maxx;
			cout<<ans<<endl;
			return 0;
		}
	}
	cout<<ans<<endl;
return 0;
}

求各位大佬指点,60分全WA

2020/7/6 18:14
加载中...