大佬求助:快排50、吸氧80 ;2 6 7 8 9WA
查看原帖
大佬求助:快排50、吸氧80 ;2 6 7 8 9WA
229648
Time_Limit_Error楼主2020/9/6 11:51

贴代码:

#include<iostream>
#include<algorithm>
using namespace std;

struct node{
	int m,s,b;
}a[200005];

bool cmp(node x,node y){
	if(x.s != y.s )return x.s >y.s ;
	return x.b<y.b;
}

int main(){
    int n,r,q;
    cin>>n>>r>>q;
    for(int i=1;i<=n*2;i++){
    	cin>>a[i].s;
    	a[i].b=i;
	}
	for(int i=1;i<=n*2;i++){
		cin>>a[i].m;
	}
	for(int i=1;i<=r;i++){
		sort(a+1,a+1+n*2,cmp);
		for(int i=1;i<=n;i++){
			if(a[i*2-1].m>=a[i*2].m) a[i*2-1].s++;
			else a[i*2].s++;
		}
	}
	sort(a+1,a+1+n*2,cmp);
	cout<<a[q].b;
 	return 0;
}

求助如何优化时间复杂度。

2020/9/6 11:51
加载中...