社区讨论

85分,WA11,13,17,求调

P2827[NOIP 2016 提高组] 蚯蚓参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@lo1hztu6
此快照首次捕获于
2023/10/22 21:21
2 年前
此快照最后确认于
2023/11/02 22:15
2 年前
查看原帖
都是在第一行错了,应该是修改有问题
CPP
#include<iostream>
#include<algorithm>
#define int long long
using namespace std;
const int maxn=1e5+5;
const int maxm=7e6+5;
int n,m,s,t;
int u,v,p;
int q[5][maxm];
bool cmp(int x,int y){
	return x>y;
}
signed main(){
//	freopen("a.in","r",stdin);
//	freopen("a.out","w",stdout);
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	cin>>n>>m>>s>>u>>v>>t;
	for(int i=1;i<=n;i++)cin>>q[1][i];
	sort(q[1]+1,q[1]+1+n,cmp);
	int l1=1,r1=n,l2=1,l3=1,r2=0,r3=0;
	for(int i=1;i<=m;i++){
		if(q[1][l1]>=q[2][l2]&&q[1][l1]>=q[3][l3]&&l1<=r1){
			q[1][l1]-=s;
			if(i%t==0)cout<<(long long)(q[1][l1]+i*s)<<" ";
			q[2][++r2]=(q[1][l1]+i*s)*u/v-i*s;
			q[3][++r3]=q[1][l1]-q[2][r2]-i*s;
			l1++;
		}else if(q[2][l2]>=q[1][l1]&&q[2][l2]>=q[3][l3]&&l2<=r2){
			q[2][l2]-=s;
			if(i%t==0)cout<<(long long)(q[2][l2]+i*s)<<" ";
			q[2][++r2]=(q[2][l2]+i*s)*u/v-i*s;
			q[3][++r3]=q[2][l2]-q[2][r2]-i*s;
			l2++;
		}else{
			q[3][l3]-=s;
			if(i%t==0)cout<<(long long)(q[3][l3]+i*s)<<" ";
			q[2][++r2]=(q[3][l3]+i*s)*u/v-i*s;
			q[3][++r3]=q[3][l3]-q[2][r2]-i*s;
			l3++;
		}
	}
	cout<<endl;
	int i=1;
	while(l1<=r1||l2<=r2||l3<=r3){
		if(l1>r1)q[1][l1]=-1e18;
		if(l2>r2)q[2][l2]=-1e18;
		if(l3>r3)q[3][l3]=-1e18;
		if(q[1][l1]>=q[2][l2]&&q[1][l1]>=q[3][l3]&&l1<=r1){
			if(i%t==0)cout<<q[1][l1]+m*s<<" ";
			l1++;
		}else if(q[2][l2]>=q[1][l1]&&q[2][l2]>=q[3][l3]&&l2<=r2){
			if(i%t==0)cout<<q[2][l2]+m*s<<" ";
			l2++;
		}else{
			if(i%t==0)cout<<q[3][l3]+m*s<<" ";
			l3++;
		}
		i++;
	}
	return 0;
}

回复

1 条回复,欢迎继续交流。

正在加载回复...