75pts,求调
查看原帖
75pts,求调
1052995
Happy_mouse楼主2024/9/2 20:02

WA on #7,#15~18

#include<bits/stdc++.h>
using namespace std;
#define int int
int qy[100001];
struct nd{
	int x,id;
};
queue<int>a;
queue<nd>b,c;
bool cmp(int a,int b){
	return a>b;
}
signed main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	int n,m,q,u,v,t;
	cin>>n>>m>>q>>u>>v>>t;
	long double p=u*1.0/v;
	for(int i=1;i<=n;i++) cin>>qy[i];
	sort(qy+1,qy+n+1,cmp);
	for(int i=1;i<=n;i++) a.push(qy[i]);
	for(int i=1;i<=m;i++){
		int ma=-1,f=1;
		if(!a.empty()) ma=a.front()+(i-1)*q;
		if(!b.empty()&&ma<b.front().x+(i-b.front().id-1)*q) ma=b.front().x+(i-b.front().id-1)*q,f=2;
		if(!c.empty()&&ma<c.front().x+(i-c.front().id-1)*q) ma=c.front().x+(i-c.front().id-1)*q,f=3;
		if(i%t==0) cout<<ma<<' ';
		if(f==1) a.pop();
		if(f==2) b.pop();
		if(f==3) c.pop();
		b.push({int(p*ma),i});
		c.push({ma-int(p*ma),i});
	}
	cout<<'\n';
	for(int i=1;i<=n+m;i++){
		int ma=-1,f=1;
		if(!a.empty()) ma=a.front()+(i-1)*q;
		if(!b.empty()&&ma<b.front().x+(m-b.front().id)*q) ma=b.front().x+(m-b.front().id)*q,f=2;
		if(!c.empty()&&ma<c.front().x+(m-c.front().id)*q) ma=c.front().x+(m-c.front().id)*q,f=3;
		if(i%t==0) cout<<ma<<' ';
		if(f==1) a.pop();
		if(f==2) b.pop();
		if(f==3) c.pop();
	}
	return 0;
}
2024/9/2 20:02
加载中...