Cod sursa(job #259841)

Utilizator Cristy94Buleandra Cristian Cristy94 Data 15 februarie 2009 22:36:44
Problema Buline Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include<fstream.h>
#include<values.h>
ifstream f("buline.in");
ofstream g("buline.out");
int x,y,a[2]={-1,1},n,i,j,v[400001],p,l;
long max,z[400001];
int main(){
f>>n;
for(i=1;i<=n;i++){
  f>>x>>y;
   v[i]=x*a[y];
   v[n+i]=x*a[y];
   z[i]=z[i-1]+v[i];}
for(i=n;i<=2*n-1;i++)
   z[i]=z[i-1]+v[i];
max=-MAXLONG;
for(i=1;i<=n;i++)
  for(j=i+1;j<=n+i-1;j++)
   if((z[j]-z[i-1])>max){
             max=z[j]-z[i-1];
	     p=i;l=j-i+1;}
   else if(z[j]-z[i-1]==max)
	   if(i==p&&(j-i+1)<l)
	       l=j-l+1;
g<<max<<" "<<p<<" "<<l;
return 0;
}