Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
33871 alex_liu [CSP-J2021]插入排序 C++ 运行超时 76 1000 MS 1148 KB 1156 2021-12-08 13:57:59

Tests(19/25):


#include<bits/stdc++.h> using namespace std; int ans[300001],cnt,n,q; struct mumbers{ int y,z; }a[30001],b[30001]; bool cmp(mumbers a,mumbers b){ if(a.z!=b.z) return a.z<b.z; return a.y<b.y; } int main(){ cin>>n>>q; int x; for(int i=1;i<=n;i++){ cin>>x; a[i].z=b[i].z=x; b[i].y=i; } sort(b+1,b+n+1,cmp); for(int i=1;i<=n;i++)a[b[i].y].y=i; int opt,y,t; for(int i=1;i<=q;i++){ cin>>opt; if(opt==2){ cin>>x; ans[++cnt]=a[x].y; continue; } cin>>x>>y; t=a[x].z; for(int j=1;j<=n;j++) if(j<x){ if(a[j].z<=t&&a[j].z>y) a[j].y++,a[x].y--; if(a[j].z>t&&a[j].z<=y) a[j].y--,a[x].y++; } else if(j>x){ if(a[j].z<t&&a[j].z>=y) a[j].y++,a[x].y--; if(a[j].z>=t&&a[j].z<y) a[j].y--,a[x].y++; } a[x].z=y; } for(int i=1;i<=cnt;i++)cout<<ans[i]<<endl; return 0; }


测评信息: