比赛 2017noip 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 蚯蚓 最终得分 100
用户昵称 pb0207 运行时间 2.924 s
代码语言 C++ 内存使用 1.08 MiB
提交时间 2017-09-21 07:56:07
显示代码纯文本
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<queue>
using namespace std;

const long long N=1e5+1e3+7,INF=0x7fffffff;

queue<long long>q1,q2,q3;

long long n,m,q,u,v,t,qy[N];

bool cmp(long long a,long long b)
{
	return a>b;
}

int main()
{
	freopen("earthworm.in","r",stdin);
	freopen("earthworm.out","w",stdout);
	scanf("%lld%d%d%d%d%d",&n,&m,&q,&u,&v,&t);
	for(long long i=1;i<=n;i++)
		scanf("%lld",&qy[i]);
	sort(qy+1,qy+n+1,cmp);
	for(long long i=1;i<=n;i++)
		q1.push(qy[i]);
	for(long long i=1;i<=m;i++)
	{
		long long a=q1.empty()?-INF:q1.front();
		long long b=q2.empty()?-INF:q2.front();
		long long c=q3.empty()?-INF:q3.front();
		if(a>=b&&a>=c)
			q1.pop();
		else
			if(b>=c)
			{
				a=b;
				q2.pop();
			}
		else
		{
			a=c;
			q3.pop();
		}
		a+=(i-1)*q;
		b=a*u/v;
		c=a-b;
		q2.push(b-q*i);
		q3.push(a-b-q*i);
		if(i%t==0)
			printf("%lld ",a);
	}
	printf("\n");
	for(long long i=1;!(q1.empty()&&q2.empty()&&q3.empty());i++)
	{
		long long a=q1.empty()?-INF:q1.front();
		long long b=q2.empty()?-INF:q2.front();
		long long c=q3.empty()?-INF:q3.front();
		if(a>=b&&a>=c)
			q1.pop();
		else
			if(b>=c)
			{
				a=b;
				q2.pop();
			}
		else
		{
			a=c;
			q3.pop();
		}
		a+=m*q;
		if(i%t==0)
			printf("%lld ",a);
	}
}