记录编号 578354 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 [NOIP 2016]蚯蚓 最终得分 100
用户昵称 Gravatarムラサメ 是否通过 通过
代码语言 C++ 运行时间 1.816 s
提交时间 2023-03-08 22:03:27 内存使用 79.97 MiB
显示代码纯文本
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n,m,q,u,v,t,a[7100010],ans[7100010],s=0,y=0,tot=0;
queue<ll> q1,q2,q3;
ll getmax(){
	int x1,x2,x3;
	x1=x2=x3=-0x7f7f7f7f;
	if(!q1.empty()){
		x1=q1.front();
	}
	if(!q2.empty()){
		x2=q2.front();
	}
	if(!q3.empty()){
		x3=q3.front();
	}
	if(x1>=x2&&x1>=x3){
		q1.pop();
		return x1;
	}
	else{
		if(x2>=x1&&x2>=x3){
			q2.pop();
			return x2;
		}
	}
	q3.pop();
	return x3;
}
void put(ll x1,ll x2){
	if(x1<x2){
		int z=x1;
		x1=x2;
		x2=z;
	}
	q2.push(x1);
	q3.push(x2);
	return;
}
bool cmp(ll x,ll y){
	return x>y;
}
int main(){
	freopen("earthworm.in","r",stdin);
	freopen("earthworm.out","w",stdout);
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	cin>>n>>m>>q>>u>>v>>t;
	for(ll i=1;i<=n;i++){
		cin>>a[i];
	}
	sort(a+1,a+n+1,cmp);
	for(ll i=1;i<=n;i++){
		q1.push(a[i]);
	}
	for(ll i=1;i<=m;i++){
		ans[i]=getmax()+y;
		int j=ans[i]*u/v,k=ans[i]-j;
		y+=q;
		put(j-y,k-y);
	}
	while(!q1.empty()||!q2.empty()||!q3.empty()){
		a[++tot]=getmax()+y;
	}
	for(int i=t;i<=m;i+=t){
		cout<<ans[i]<<" "; 
	}
	cout<<endl;
	for(int i=t;i<=tot;i+=t){
		cout<<a[i]<<" "; 
	}
	cout<<endl;
	return 0;
}