Cod sursa(job #1498943)

Utilizator Bogdan1999Draghici Bogdan Bogdan1999 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;
}