12分 3AC 22WA
查看原帖
12分 3AC 22WA
313731
touxi楼主2021/10/29 18:38
#include<bits/stdc++.h>
using namespace std;
int n,q;
struct so
{
	int x,y;
}a[1000100];
bool sor(so a1,so b1)
{
	return a1.x<b1.x;
}
int main()
{
//	freopen("sort.in","r",stdin);
//	freopen("sort.out","w",stdout);
	cin>>n>>q;
	for (int i=1;i<=n;++i)
	{
		cin>>a[i].x;
		a[i].y=i;
	}
	sort(a+1,a+1+n,sor);
	for (int i=1;i<=q;++i)
	{
		int f,x1,y1;
		cin>>f;
		if(f==1) 
		{
			cin>>x1>>y1;
			for (int j=1;j<=n;++j)
			{
				if (a[j].y==x1)
				{
					a[j].x=y1;
					for (int l=n-1;l<=1;--l)
					if (a[l].x>=a[l+1].x)
					{
						int t=a[l].x;
						a[l].x=a[l+1].x;
						a[l+1].x=t;
						 t=a[l].y;
						a[l].y=a[l+1].y;
						a[l+1].y=t;
					}
					for (int l=1;l<=n-1;++l)
					if (a[l].x>=a[l+1].x)
					{
						int t=a[l].x;
						a[l].x=a[l+1].x;
						a[l+1].x=t;
						 t=a[l].y;
						a[l].y=a[l+1].y;
						a[l+1].y=t;
					}
				/*	for (int l=1;l<=n;++l)
					cout<<a[l].x<<' ';
					cout<<endl;
					for (int l=1;l<=n;++l)
					cout<<a[l].y<<' ';*/
					break;
				}
			}
		}
		else
		{
			cin>>x1;
			for (int j=1;j<=n;++j)
			{
				if (a[j].y==x1)
				{
					cout<<j<<endl;
					break;
				}
			}
		}
	}
//	fclose(stdin);
//	fclose(stdout);
}
2021/10/29 18:38
加载中...