社区讨论
此题数据是否过水?
P7910[CSP-J 2021] 插入排序参与者 4已保存回复 7
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 7 条
- 当前快照
- 1 份
- 快照标识符
- @lo388fuz
- 此快照首次捕获于
- 2023/10/24 02:24 2 年前
- 此快照最后确认于
- 2023/10/24 02:24 2 年前
正常的快读快些 都过了
CPP#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+10;
struct node{
int ma,shu;
}a[maxn];
inline int read(){
int x=0,f=1;char ch=getchar();
while(!isdigit(ch))f=ch!='-',ch=getchar();
while(isdigit(ch))x=(x<<1)+(x<<3)+(ch^48),ch=getchar();
return f?x:-x;
}
inline void write(int x)
{
if(x<0)
putchar('-'),x=-x;
if(x==0)
{
putchar('0');
return ;
}
if(x>9)write(x/10);
putchar(x%10+'0');
return;
}
bool cmp(node x,node y){
if(x.shu!=y.shu)return x.shu<y.shu;
return x.ma<y.ma;
}
int main(){
int n,q;
n=read();q=read();
for(int i=1;i<=n;i++){
a[i].shu=read();
a[i].ma=i;
}
stable_sort(a+1,a+n+1,cmp);
int opt,x,v;
while(q--){
opt=read();
if(opt==1){
x=read();v=read();
for(int i=1;i<=n;i++){
if(x==a[i].ma){
a[i].shu=v;
break;
}
}
stable_sort(a+1,a+n+1,cmp);
}
if(opt==2){
v=read();
for(int i=1;i<=n;i++){
if(a[i].ma==v){
write(i);
putchar(10);
break;
}
}
}
}
return 0;
}
回复
共 7 条回复,欢迎继续交流。
正在加载回复...