社区讨论
求助,老是报错,求大佬们看看为啥运行不了?
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 条回复,欢迎继续交流。
正在加载回复...