666

666

#include<iostream>
#include<algorithm>
#include<cmath>
#define ll long long
using namespace std;
int n,x;
//数组中所有数都是非负整数 
//归纳总结:稳定排序与不稳定排序 
ll q,v;

struct neww{
	ll num;
	ll data;
}past[8010],a[8010];
int ffind(ll x)
{
	for(ll i=1;i<=n;i++)
		if(past[x].num==a[i].num)
			return i;
}
bool cmp(neww x,neww y)
{
	return x.data<y.data;
}
void csort()
{
	for(ll i=1;i<=n;i++)
		for(ll j=i;j>=2;j--)
			if(a[j].data<a[j-1].data)
				swap(a[j],a[j-1]);

}
void csort2()
{
	for(ll i=2;i<n;i++)
	{
		ll l=1,h=i-1;
		neww t=a[i];
		while(l<=h)
		{
			ll mid=(l+h)/2;
			if(t.data<a[mid].data) h=mid-1;
			if(t.data>=a[mid].data) h=mid+1;
		}
		ll  j;
		for(j=i-1;j>h;j--)
			a[j+1]=a[j];
		a[j+1]=t;
	}
 } 
int main()
{
	cin>>n>>q;
	for(ll i=1;i<=n;i++)
	{
		cin>>past[i].data;
		past[i].num=i;
		a[i]=past[i];
	}
	int temp;
	for(ll i=1;i<=q;i++)
	{
		cin>>temp;
		if(temp==1)
		{
			cin>>x>>v;
			a[x].data=v;
			past[x].data=v;//对未来有影响 
		}
		if(temp==2)
		{
			cin>>x;
			stable_sort(a+1,a+n+1,cmp);
			cout<<ffind(x)<<endl;
			for(ll i=1;i<=n;i++)
				a[i]=past[i];//对未来无影响 
		}
	 } 
	return 0; 
} 
posted @ 2022-09-29 17:39  要不要吃哈密瓜  阅读(10)  评论(0编辑  收藏  举报