Cod sursa(job #1498943)
| Utilizator | Data | 9 octombrie 2015 21:50:18 | |
|---|---|---|---|
| Problema | A+B | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.68 kb |
#include <cstdio>
#include <cstring>
using namespace std;
int vp[1000055];
int vn[1000055];
char q[1000055];
int main()
{
freopen("ab.in","r",stdin);
freopen("ab.out","w",stdout);
int n, i, j, t, d, k;
long long s = 0;
d = k = 0;
scanf("%s",q);
int tt = strlen(q);
//printf("%d",tt);
for( i = 0; i < tt; ++i ){
if( q[i] == 'a' ) k++;
else k--;
if( k == 0 ) s++;
if( k >= 0 ){
s += vp[k];
vp[k]++;
}
else{
s += vn[k];
vn[k]++;
}
//printf("%d\n",i);
}
printf("%lld",s);
return 0;
}
