萌新求教,为啥这个只能通过95%啊??
#include<bits/stdc++.h>
using namespace std;
#define int long long
signed main() {
string s;
cin >> s;
int len = s.size();
if(len==2){
if(s[0]==s[1]){
cout<<0<<endl;
}
else{
cout<<1<<endl;
}
}
else{
int res = 0;
int st = 0;
vector<int> SavedRes(len,-1);
for(int ed=1;ed<=len;ed++){
if(s[ed]==s[ed-1]||ed==len){
int x=ed-st;
if(SavedRes[x]==-1){
SavedRes[x]=(x*x-x)/2;
}
res+=SavedRes[x];
st=ed;
}
}
cout<<res<<endl;
}
}