/ Vijos / 讨论 / 蚯蚓 /

求大神指教

只德了70分,哪错了。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#define maxn 7010001
using namespace std;

int i,j,k,t,n,m,ans,p,q,u,v,da,x,y,tt;
int a[3][maxn],l[3],r[3];

bool cmp(int x,int y){return x>y;}

int main()
{
scanf("%d %d %d %d %d %d",&n,&m,&q,&u,&v,&tt);
for(int i=1;i<=n+m;i++)
a[0][i]=a[1][i]=a[2][i]=-0x7fffffff;
for(int i=1;i<=n;i++)
scanf("%d",&a[0][i]);
sort(a[0]+1,a[0]+1+n,cmp);
l[0]=1,r[0]=n;
l[1]=l[2]=1;
r[1]=r[2]=0;
for(int i=1;i<=m;i++)
{
da=-0x7fffffff;
for(int j=0;j<=2;j++)
if(a[j][l[j]]>da)
da=a[j][l[j]],k=j;
t=da+(i-1)*q;
l[k]++;
if(i%tt==0)
printf("%d ",t);
x=t*u/v;
y=t-x;
a[1][++r[1]]=x-i*q;
a[2][++r[2]]=y-i*q;
}
printf("\n");
for(int i=1;i<=n+m;i++)
{
da=-0x7fffffff;
for(int j=0;j<=2;j++)
if(a[j][l[j]]>da)
da=a[j][l[j]],k=j;

t=da+m*q;
l[k]++;
if(i%tt==0)
printf("%d ",t);
}
return 0;
}

0 条评论

目前还没有评论...

信息

ID
2007
难度
7
分类
(无)
标签
递交数
1580
已通过
319
通过率
20%
被复制
8
上传者