各位大佬,我用了归并排序可还是60分,请大佬们看看哪里有问题!
查看原帖
各位大佬,我用了归并排序可还是60分,请大佬们看看哪里有问题!
669329
deyi楼主2023/1/3 19:28
#include<bits/stdc++.h>
using namespace std;
int n, r, q;
struct node{
	int x;
	int y;
	int z;
}a[100000001];
bool cmp(node a, node b){
	if(a.x!=b.x)
		return a.x>b.x;
	else
		return a.z<b.z;
}
int main(){
	scanf("%d%d%d",&n,&r,&q);
	n*=2;
	for(int i=1;i<=n;i++)
		scanf("%d",&a[i].x);
	for(int i=1;i<=n;i++)
		scanf("%d",&a[i].y),a[i].z=i;
	for(int i=1;i<=r;i++){
		stable_sort(a+1,a+1+n,cmp);
		for(int i=2;i<=n;i+=2)
			if(a[i].y>a[i-1].y)a[i].x++;
			else a[i-1].x++;
	}
	stable_sort(a+1,a+1+n,cmp);
	printf("%d",a[q].z);
	return 0;
}
2023/1/3 19:28
加载中...