吸氧40,2,5,7,8,9,10TLE
查看原帖
吸氧40,2,5,7,8,9,10TLE
455309
hw20王思捷楼主2021/12/26 15:55
#include<bits/stdc++.h>
using namespace std;
struct noi
{
	int num;
	int cs;
	int w;
}s[200001];
int n,r,q;
int main(){
	cin>>n>>r>>q;
	for(int i=1;i<=2*n;i++)
	{
		scanf("%d",&s[i].cs);
		s[i].num=i;
	}
	for(int i=1;i<=2*n;i++)
	    scanf("%d",&s[i].w);
	for (int i=1;i<2*n;i++)
	{
    	bool flag=true;
    for(int j=1;j<=2*n-i;j++){
    	if(s[j].cs<s[j+1].cs)
		{
			swap(s[j],s[j+1]);
			flag=false; 
		}
		if(s[j].cs==s[j+1].cs)
		   if(s[j].num>s[j+1].num)
		{
			swap(s[j],s[j+1]);
			flag=false;
		}	
	}
		if(flag) break;
	}
	for(int i=1;i<=r;i++)
{
	for(int i=1;i<=2*n-1;i+=2){
	if(s[i].w>s[i+1].w)
	s[i].cs++;
	else
	s[i+1].cs++;	
	}
	for (int i=1;i<2*n;i++){
    	bool flag=true;
    	for(int j=1;j<=2*n-i;j++)
    	{
    		if(s[j].cs<s[j+1].cs)
		    {
			swap(s[j],s[j+1]);
			flag=false; 
		    }
		   if(s[j].cs==s[j+1].cs)
		      if(s[j].num>s[j+1].num)
		   {
			   swap(s[j],s[j+1]);
			   flag=false;
		   }
		}
    	
		if(flag) break;
	}	
} 
	cout<<s[q].num;
	return 0;
} 
2021/12/26 15:55
加载中...