暴力过了,TLE最后两个点,请问如何优化?
附上暴力代码:
#include<bits/stdc++.h>
using namespace std;
int n,l,r,len;
string s;
char a[500010];
void youhua(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
}
bool check(int x,int y){
while(x<=y){
if(a[x]!=a[y]) return a[x]<a[y];
x++;
y--;
}
return true;
}
int main(){
youhua();
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
l=1;r=n;
while(l<=r){
if(a[l]<a[r]) s=s+a[l],l++;
else if(a[l]>a[r]) s=s+a[r],r--;
else{
if(check(l,r)) s=s+a[l],l++;
else s=s+a[r],r--;
}
}
len=s.size();
for(int i=0;i<=len-1;i++)
{
cout<<s[i];
if((i+1)%80==0) cout<<"\n";
}
}
谢谢各位大佬啦~