首先第一个:

\color{red}{WA} 75分 代码:
#include<bits/stdc++.h>
#define int long long
#define IN(a) freopen(a".in","r",stdin)
#define OUT(a) freopen(a".out","w",stdout)
#define FILE(a) IN(a),OUT(a)
#define FAST cin.sync_with_stdio(0),cin.tie(0),cout.tie(0)
using namespace std;
string s;
int k;
signed main(){
FAST;
// FILE("sum");
cin>>s>>k;
for(int i = 1;i<s.size();i++){
if(s[i-1]>s[i]){
s.erase(s.begin()+i-1);
k--;
if(i==1)i++;
if(i==2)i++;
i-=3;
if(k==0)break;
}
}
s.erase(s.end()-k,s.end());
while(s[0]=='0'){
s.erase(0,1);
}
cout<<s;
return 0;
}
第二个:


\color{lightblue}TLE 0分 代码:(不知为何 \color{lightblue}TLE ,时间复杂度正确,样例通过)
#include<bits/stdc++.h>
#define ll long long
#define IN(a) freopen(a".in","r",stdin)
#define OUT(a) freopen(a".out","w",stdout)
#define FILE(a) IN(a),OUT(a)
#define FAST cin.sync_with_stdio(0),cin.tie(0),cout.tie(0)
using namespace std;
struct Node{
int l,r,v;
}tr[2500005];
int n,m,root[2500005],tot = 0;
int a[200050];
void pushup(int x){
int ls = tr[x].l;
int rs = tr[x].r;
tr[x].v = tr[ls].v + tr[rs].v;
}
void add(int last,int &now,int l,int r,int v){
now = ++tot;
tr[now] = tr[last];
if(l==r){
tr[now].v = tr[last].v + 1;
return ;
}
int mid = l+r>>1;
if(v<=mid){
add(tr[last].l,tr[now].l,l,mid,v);
}else{
add(tr[last].r,tr[now].r,mid+1,r,v);
}
pushup(now);
}
int query(int last,int now,int l,int r,int ql,int qr){
if(tr[now].v-tr[last].v<1)return 0;
if(l>=ql&&r<=qr)return 1;
int mid = l+r>>1,sum = 0;
if(mid >= ql){
sum+=query(tr[last].l,tr[now].l,l,mid,ql,qr);
}
if(mid < qr){
sum+=query(tr[last].r,tr[now].r,mid+1,r,ql,qr);
}
return sum;
}
signed main(){
FAST;
// FILE("twelve");
cin>>n>>m;
for(int i = 1;i<=n;i++){
cin>>a[i];
add(root[i-1],root[i],0,500005,a[i]);
}
for(int i = 1;i<=m;i++){
int b,x,l,r,ans = 0;
cin>>b>>x>>l>>r;
for(int j = 17;j>=0;j--){
int L,R,fl,op;
fl = (1<<j)&b;
if(fl){
L=ans,R=ans+(1<<j)-1,op = 0;
}else{
L=ans+(1<<j),R=ans+(1<<j+1)-1,op = 1;
}
if(!query(root[l-1],root[r],0,500005,max(0,L-x),min(500005,R-x)))
op^=1;
ans+=(op<<j);
}
cout<<(ans^b)<<'\n';
}
return 0;
}