85pts WA 3求助
查看原帖
85pts WA 3求助
172642
Lidozs55楼主2021/7/31 16:28
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<queue>
using namespace std;
long long n,m,u,v,q,t,a[100005];
queue<long long> q1,q2,q3;
priority_queue<long long>ans;
bool cmp(long long a,long long b){return a>b;}
int main(){
	scanf("%lld%lld%lld%lld%lld%lld",&n,&m,&q,&u,&v,&t);
	for(int i=0;i<n;++i)scanf("%lld",a+i);
	sort(a,a+n,cmp);
	for(int i=0;i<n;++i)q1.push(a[i]);
	for(long long i=0,l,l1,l2;i<m;++i){
		l=max(max(q1.empty()?-1:q1.front(),q2.empty()?-1:q2.front()),q3.empty()?-1:q3.front());
		if(!q1.empty()&&l==q1.front())q1.pop();
		else if(!q2.empty()&&l==q2.front())q2.pop();
		else q3.pop();
		l+=i*q;
		q2.push(l*u/v-(i+1)*q),q3.push(l-l*u/v-(i+1)*q);
		if((i+1)%t==0)printf("%lld ",l);
	}
	while(!q1.empty())ans.push(q1.front()),q1.pop();
	while(!q2.empty())ans.push(q2.front()),q2.pop();
	while(!q3.empty())ans.push(q3.front()),q3.pop();
	putchar('\n');
	for(int i=1;!ans.empty();++i){
		if(i%t==0)printf("%lld ",ans.top()+m*q);
		ans.pop();
	}
	return 0;
}
2021/7/31 16:28
加载中...