求助!T啦!76分 求助%大佬
查看原帖
求助!T啦!76分 求助%大佬
709338
Jlzj2009楼主2022/10/5 19:01
#include<bits/stdc++.h>
using namespace std;
struct note
{
	int num,id;
}a[8010];
int b[8010];
inline int read()
{
    int a=0;char x=getchar();bool f=0;
    while((x<'0'||x>'9')&&x!='-')x=getchar();
    if(x=='-')x=getchar(),f=1;
    while(x>='0'&&x<='9')a=a*10+x-48,x=getchar();
    return f?-a:a;
}
bool cmp(note a,note b)
{
	if(a.num==b.num) return a.id<b.id;
	else return a.num<b.num;
}	
int main()
{
	int n,m;
	n=read();
	m=read();
	for(int i=1;i<=n;i++) {a[i].num=read();a[i].id=i;}
	sort(a+1,a+n+1,cmp);
	int op,u,v;
	while(m--)
	{
		op=read();
		if(op==1)
		{
			u=read();
			v=read();
			for(int i=1;i<=n;i++)
				if(a[i].id==u)
				{
					a[i].num=v;
					break;
				}
			sort(a+1,a+n+1,cmp);
		}
		else
		{
			u=read();
			for(int i=1;i<=n;i++)
			{
				if(a[i].id==u)
				{
					printf("%d\n",i);
					break;
				}
			}
		}
	}	
	return 0;
}
2022/10/5 19:01
加载中...