Cod sursa(job #592992)

Utilizator a_h1926Heidelbacher Andrei a_h1926 Data 31 mai 2011 19:31:27
Problema Plus Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <iostream>
#include <fstream>

using namespace std;

long N, Nr[2], S, NSecv[500005];
char Sir[200005];

void Read ()
{
	ifstream fin ("fsb.in");
	long i;
	char n;
	fin >> N;
	for (i=0; i<N; i++)
	{
		fin >> n;
		if (n=='0')
		{
			Sir[i]=0;
		}
		else
		{
			Sir[i]=1;
		}
	}
	fin.close ();
}

void Type ()
{
	ofstream fout ("fsb.out");
	fout << S << "\n";
	fout.close ();
}

inline long Modul (long a)
{
	if (a>=0)
	{
		return a;
	}
	return -a;
}

int main ()
{
	long i;
	Read ();
	NSecv[200005]=1;
	for (i=0; i<N; i++)
	{
		Nr[(int)Sir[i]]++;
		S+=NSecv[200005+Nr[1]-Nr[0]];
		NSecv[200005+Nr[1]-Nr[0]]++;
	}
	Type ();
	return 0;
}