求助
  • 板块灌水区
  • 楼主SUY_Define
  • 当前回复0
  • 已保存回复0
  • 发布时间2022/3/19 14:17
  • 上次更新2023/10/28 06:13:25
查看原帖
求助
543770
SUY_Define楼主2022/3/19 14:17

P7910 52分

#include<bits/stdc++.h>
using namespace std;
#define N 1500014
struct node{
	long long x,q,s;
}sclz[N],ls[N];
long long n,Q;
long long l;
long long xs,V;
void cz(){
	for(int i=1;i<=n;i++) ls[i].x=i;
}
void px(){
	for(int i=1;i<=n;i++){
		for(int j=i;j>=2;j--){
			if(ls[j].s<ls[j-1].s){
				node t=ls[j-1];
				ls[j-1]=ls[j];
				ls[j]=t;
			}
		}
	}
}
int main(){
//	freopen("sort.in","r",stdin);
//	freopen("sort.out","w",stdout);
	
	cin>>n>>Q;
	for(int i=1;i<=n;i++) cin>>sclz[i].s;

	for(int i=1;i<=n;i++) sclz[i].q=i;
	for(int i=1;i<=Q;i++){
		cin>>l;
		if(l==1){
			cin>>xs>>V;
			sclz[xs].s=V;
		}
		if(l==2){
			cin>>xs;
			for(int i=1;i<=n;i++) ls[i]=sclz[i];
			px();
			cz();
			for(int i=n;i>=i;i--)
				if(ls[i].q==xs){
					cout<<ls[i].x<<"\n";
					break;
			}
		}
	}
	
// 	fclose(stdin);
// 	fclose(stdout);
	return 0;
}
2022/3/19 14:17
加载中...