记录编号 358328 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 [NOIP 2016]蚯蚓 最终得分 100
用户昵称 GravatarAntiLeaf 是否通过 通过
代码语言 C++ 运行时间 1.619 s
提交时间 2016-12-15 19:00:59 内存使用 0.69 MiB
显示代码纯文本
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<functional>
#include<queue>
#define frt(que) ((que.empty()?-2147483647:que.front()))
using namespace std;
int n,m,t,u,v,q,o[100010],x,a,b,c;
queue<int>qa,qb,qc;
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);
	for(int i=1;i<=n;i++)scanf("%d",&o[i]);
	sort(o+1,o+n+1,greater<int>());
	for(int i=1;i<=n;i++)qa.push(o[i]);
	for(int i=1;i<=m;i++){
		a=frt(qa);
		b=frt(qb);
		c=frt(qc);
		if(a>=b&&a>=c)qa.pop();
		else if(b>c){
			a=b;
			qb.pop();
		}
		else{
			a=c;
			qc.pop();
		}
		a+=q*(i-1);
		x=(long long)a*u/v;
		qb.push(x-q*i);
		qc.push(a-x-q*i);
		if(i%t==0)printf("%d ",a);
	}
	printf("\n");
	for(int i=1;!(qa.empty()&&qb.empty()&&qc.empty());i++){
		a=frt(qa);
		b=frt(qb);
		c=frt(qc);
		if(a>=b&&a>=c)qa.pop();
		else if(b>c){
			a=b;
			qb.pop();
		}
		else{
			a=c;
			qc.pop();
		}
		a+=q*m;
		if(i%t==0)printf("%d ",a);
	}
	return 0;
}