Cod sursa(job #79845)

Utilizator anna_bozianuBozianu Ana anna_bozianu Data 24 august 2007 02:26:27
Problema PScPld Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include<stdio.h>
#include<string.h>
char sir[1000005],*p,*q,*pp,*qq;
long int i,l;
long long int cont,nr;
int main()
{
	FILE *f,*g;
	f=fopen("pscpld.in","r");
	g=fopen("pscpld.out","w");
	fgets(sir,1000002,f);
	l=strlen(sir);
	sir[l-1]=0;
	p=&sir[0];
	p--;
	*p=0;
	p++;
	while(*p)
	 { q=p;nr=0;
	   while(*q==*p){q++;nr++;}
	   cont=cont+(nr*(nr+1))/2;
	   pp=p;pp--;qq=q;
	   while(*pp&&(*pp==*qq)){pp--;qq++;cont++;}
	   p=q;
	 }
	fprintf(g,"%lld\n",cont);
	return 0;
}