求大佬答疑解惑
查看原帖
求大佬答疑解惑
1509960
hjluojc楼主2025/7/28 14:41

暴力过了,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";
	}
}

谢谢各位大佬啦~

2025/7/28 14:41
加载中...