答案
#include<bits/stdc++.h>
using namespace std;
char str[1000001];
int a[4];
int main(){
scanf("%s",str);
long long ans=0;
a[0]=1;//这里有注意
int cnt=0;
for(int i=0;str[i]!='\0';i++){
if(str[i]=='0')
ans++;
if(str[i]=='0'&&str[i+1]=='0')
ans+=a[cnt];
cnt=(cnt+str[i]-'0')%3;
a[cnt]++;
}
printf("%lld\n",ans);
return 0;
}
using namespace std;
char str[1000001];
int a[4];
int main(){
scanf("%s",str);
long long ans=0;
a[0]=1;//这里有注意
int cnt=0;
for(int i=0;str[i]!='\0';i++){
if(str[i]=='0')
ans++;
if(str[i]=='0'&&str[i+1]=='0')
ans+=a[cnt];
cnt=(cnt+str[i]-'0')%3;
a[cnt]++;
}
printf("%lld\n",ans);
return 0;
}