比赛 2017noip 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 蚯蚓 最终得分 100
用户昵称 Regnig Etalsnart 运行时间 1.412 s
代码语言 C++ 内存使用 64.29 MiB
提交时间 2017-09-20 19:16:37
显示代码纯文本
#include<cstdio>
#include<algorithm>
using namespace std;
const int maxn=8000000,INF=0x7fffffff;
int n,m,q,u,v,t,val,i;
int Q1[maxn],Q2[maxn],Q3[maxn],head1=1,tail1,head2=1,tail2,head3=1,tail3;
bool cmp(int x,int y){return x>y;}
int getmax()
{
	int maxx=-INF,x=0;
	if(head1<=tail1)
	{
		if(maxx<Q1[head1])
		{
			x=1;
			maxx=Q1[head1];
		}
	}
	if(head2<=tail2)
	{
		if(maxx<Q2[head2])
		{
			x=2;
			maxx=Q2[head2];
		}
	}
	if(head3<=tail3)
	{
		if(maxx<Q3[head3])
		{
			x=3;
			maxx=Q3[head3];
		}
	}
	if(x==1)head1++;
	if(x==2)head2++;
	if(x==3)head3++;
	return maxx;
}
int Main()
{
	freopen("earthworm.in","r",stdin);freopen("earthworm.out","w",stdout);
	scanf("%d%d%d%d%d%d",&n,&m,&q,&u,&v,&t);
	double p=double(u)/v;
	for(i=1;i<=n;i++)scanf("%d",&Q1[++tail1]);
	sort(Q1+1,Q1+n+1,cmp);
	for(i=1;i<=m;i++)
	{
		int maxx=getmax();
		maxx+=val;
		if(i%t==0)printf("%d ",maxx);
		int tmp=maxx*p;
		Q2[++tail2]=tmp-q-val;
		Q3[++tail3]=maxx-tmp-q-val;
		val+=q;
	}
	printf("\n");
	for(i=1;i<=n+m;i++)
	{
		int maxx=getmax();
		if(i%t==0)printf("%d ",maxx+val);
	}
	printf("\n");
	return 0;
}
int main(){;}
int syy=Main();