记录编号 |
466368 |
评测结果 |
AAAAAAAAAAAAAAAAAAAA |
题目名称 |
[NOIP 2016]蚯蚓 |
最终得分 |
100 |
用户昵称 |
补魔 |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
1.621 s |
提交时间 |
2017-10-28 20:33:36 |
内存使用 |
61.73 MiB |
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <queue>
using namespace std;
int n,m,q,u,v,t,val,a[100005],b[8000005],c[8000005];
int a_head=1,a_tail,b_head=1,b_tail,c_head=1,c_tail;
inline int read()
{
int x=0,f=1;char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
return x*f;
}
inline int getmax()
{
int ma=-0x7fffffff,x=0;
if(a_head<=a_tail)
{
if(ma<a[a_head])
{
x=1;
ma=a[a_head];
}
}
if(b_head<=b_tail)
{
if(ma<b[b_head])
{
x=2;
ma=b[b_head];
}
}
if(c_head<=c_tail)
{
if(ma<c[c_head])
{
x=3;
ma=c[c_head];
}
}
if(x==1)
a_head++;
if(x==2)
b_head++;
if(x==3)
c_head++;
return ma;
}
inline bool ccmp(int x,int y)
{
return x>y;
}
int main()
{
freopen("earthworm.in","r",stdin);freopen("earthworm.out","w",stdout);
n=read(),m=read(),q=read(),u=read(),v=read(),t=read();
double p=(double)u/v;
for(int i=1;i<=n;i++)
a[++a_tail]=read();
sort(a+1,a+n+1,ccmp);
for(int i=1;i<=m;i++)
{
int x=getmax();
x+=val;
if(i%t==0)
printf("%d ",x);
int tem1=x*p;
b[++b_tail]=tem1-q-val;
c[++c_tail]=x-tem1-q-val;
val+=q;
}
printf("\n");
for(int i=1;i<=n+m;i++)
{
int x=getmax();
if(i%t==0)
printf("%d ",x+val);
}
fclose(stdin);fclose(stdout);
return 0;
}