RE30分求助
查看原帖
RE30分求助
544571
Locix_Elaina_Celome楼主2022/7/29 15:18
#include<bits/stdc++.h>
using namespace std;
int n,m,q,u,v,t;
int add=0;
int a[100000005];
int main(){
	cin>>n>>m>>q>>u>>v>>t;
	double p=(double)u/v;
	queue<int> q1,q2,q3;
	int x;
	for(int i=1;i<=n;i++){
		scanf("%d",&a[i]);
	}
	sort(a+1,a+n+1);
	for(int i=n;i>=1;i--){
		q1.push(a[i]);
	}
	for(int i=1;i<=m;i++){
		int u1;
		if(q1.empty())u1=-1e9;
		else u1=q1.front();
		int u2;
		if(q2.empty())u2=-1e9;
		else u2=q2.front();
		int u3;
		if(q3.empty())u3=-1e9;
		else u3=q3.front();
		int u;
		if(u1>u2&&u1>u3){
			u=u1;
			q1.pop();
		}
		else if(u2>u1&&u2>u3){
			u=u2;
			q2.pop();
		}
		else{
			u=u3;
			q3.pop();
		}
		u+=add;
		if(i%t == 0){
			printf("%d ",u);
		}
		add+=q;
		int num=floor(p*u),num2=u-num;
		num-=add;
		num2-=add;
		q2.push(num);
		q3.push(num2);
	}
	cout<<endl;
	for(int i=1;i<=n+m;i++){
		int u1;
		if(q1.empty())u1=-1e9;
		else u1=q1.front();
		int u2;
		if(q2.empty())u2=-1e9;
		else u2=q2.front();
		int u3;
		if(q3.empty())u3=-1e9;
		else u3=q3.front();
		int u;
		if(u1>u2&&u1>u3){
			u=u1;
			q1.pop();
		}
		else if(u2>u1&&u2>u3){
			u=u2;
			q2.pop();
		}
		else{
			u=u3;
			q3.pop();
		}
		if(i%t == 0){
			printf("%d ",u+add);
		}
	}
}
2022/7/29 15:18
加载中...