社区讨论

求问

P2697宝石串参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@mhiz8dxa
此快照首次捕获于
2025/11/03 18:07
4 个月前
此快照最后确认于
2025/11/03 18:07
4 个月前
查看原帖
CPP
#include <bits/stdc++.h>
using namespace std;
const int maxnn=1e7+5;
int f[maxnn],c[maxnn];
char b[maxnn];
string a;
int main() {
    ios::sync_with_stdio(false);
    cin.tie(0); cout.tie(0);
    cin>>a;
    int n=a.size();
    for (int i=0;i<a.size();i++){
    	b[i+1]=a[i];
	}
	for (int i=1;i<=n*2+2;i++){
		c[i]=2147483647;
	}
	for (int i=1;i<=n;i++){
		if (b[i]=='R') f[i]+=1;
		if (b[i]=='G') f[i]-=1;
	}
	c[0+n+1]=0;
	int ans=-1;
	for (int i=1;i<=n;i++){
		f[i]=f[i]+f[i-1];
		c[f[i]+n+1]=min(i,c[f[i]+n+1]);
		ans=max(ans,i-c[f[i]+n+1]);
	}
	cout<<ans<<'\n';
	return 0;
}
为什么把maxnn定义成1e6+5就会RE on #4
但这个是AC

回复

0 条回复,欢迎继续交流。

正在加载回复...