社区讨论

求助,老是报错,求大佬们看看为啥运行不了?

P7910[CSP-J 2021] 插入排序参与者 2已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@lo8b9y40
此快照首次捕获于
2023/10/27 15:48
2 年前
此快照最后确认于
2023/10/27 15:48
2 年前
查看原帖
CPP
/*3 4
3 2 1
2 3
1 3 2
2 2
2 3*/
#include <iostream>
#include <cstdio>
#include <bits/stdc++.h>
using namespace std;
int n,q,s[100050],type,x,y,i;
struct s{
	int num;
	int xb;
}a[100050];
int cmp(s x,s y){
	if(x.num==y.num){
		return x.xb<y.xb;
	}else{
		return x.num<y.num;
	}
}
int main(){
	cin>>n>>q;
	for(i=1;i<=n;i++){
		cin>>a[i].num;
		a[i].xb=i;
	}
	sort(a+1,a+n+1,cmp);
	for(i=1;i<=n;i++){
		s[a[i].xb]=i;
	}
	while(q!=0){
		cin>>type;
		if(type==2){
			cin>>x;
			cout<<s[x]<<endl;
		}else{
			cin>>x>>y;
			a[w[x]].num=y;
			for(i=s[x];i>=2;i--){
				if(a[i].num<a[i-1].num || (a[i].num==a[i-1].num && a[i].xb<a[i-1].xb)){
					swap(a[i],a[i-1]);
				}
			}
			for(i=s[x];i<n;i++){
				if(a[i].num>a[i+1].num || (a[i].num==a[i+1].num && a[i].xb>a[i+1].xb)){
					swap(a[i],a[i+1]);
				}
			}
			for(i=1;i<=n;i++){
				s[a[i].xb]=i;
			}
		}
		q--;
	}
	return 0;
}

运行好多次了

老实说无法运行

为啥呀???

求求了

回复

4 条回复,欢迎继续交流。

正在加载回复...