80分求调!悬赏一个关注
查看原帖
80分求调!悬赏一个关注
727076
hexz01楼主2023/10/2 20:33
#include <iostream>
#include <algorithm>
using namespace std;
const int N=2e5+7;
int n, r, q;
struct node{
	int s, w, id;
}a[N];
bool cmp(node x, node y){
	return (x.s==y.s?x.id<y.id:x.s>y.s);
}
int main(){
	cin>>n>>r>>q;
	n*=2;
	for(int i=1;i<=n;i++)
		a[i].id=i;
	for(int i=1;i<=n;i++)
		cin>>a[i].s;
	for(int i=1;i<=n;i++)
		cin>>a[i].w;
	while(r--){
		sort(a+1, a+n+1, cmp);
		for(int i=1;i<=n;i+=2){
			a[i].s+=(a[i].w>a[i+1].w);
			a[i+1].s+=(a[i].w<a[i+1].w);
		}
	}
	sort(a+1, a+n+1, cmp);
	cout<<a[q].id<<endl;
	return 0;
}

时间复杂度: O(RNlog2N)O(RNlog_2N) 50∗200000∗20=20000000050*200000*20=200000000 应该不会超哇?

备注:不开o260分

2023/10/2 20:33
加载中...