1 条题解
-
-3
#include<bits/stdc++.h> using namespace std; vectorv; int n,m; void Insert(int x,int y){ if(x0){ n++; for(int i=n-1;i>0;i--){ v[i]=v[i-1]; } v[0]=y; } else{ n++; for(int i=n-1;i>x-1;i--){ v[i]=v[i-1]; }v[x]=y; } } void erase(int x){ v[x-1]=-1; } void Sort(int x,int y){ for(int i=x-1;i<y;i++){ for(int j=i+1;j<y;j++){ if(v[i]>v[j]) swap(v[i],v[j]); } } } void fan(int x,int y){ for(int i=x-1,j=y-1;i<y;i++,j--){ if(i>j) break; swap(v[i],v[j]); } } void erase2(int x,int y,int z){ for(int i=x-1;i<y;i++){ if(v[i]z){ v[i]=-1; break; } } } int main(){ cin>>n>>m; for(int i=1;i<=n;i++){ int x; cin>>x; v.push_back(x); } for(int i=1;i<=m;i++){ int w; cin>>w; if(w1){ int x,y; cin>>x>>y; Insert(x,y); } if(w2){ int x; cin>>x; erase(x); } if(w3){ int x,y; cin>>x>>y; Sort(x,y); } if(w4){ int x,y; cin>>x>>y; fan(x,y); } if(w==5){ int x,y,z; cin>>x>>y>>z; erase2(x,y,z); } } for(int i=0;i<n;i++){ if(v[i]!=-1)cout<<v[i]<<" "; } return 0; }
- 1
信息
- ID
- 317
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 2
- 标签
- 递交数
- 114
- 已通过
- 21
- 上传者