Cod sursa(job #73075)

Utilizator RobytzzaIonescu Robert Marius Robytzza Data 16 iulie 2007 16:28:56
Problema Buline Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include<fstream.h>
long a[400000],x,y,N,S,in,lg,max=-10211431;
void citire(){
ifstream fin("buline.in");
fin>>N;
for (long i=0;i<N;i++){
    fin>>x>>y;
      if (y==0){
	 a[i]=(-1)*x;
	 a[i+N]=a[i];}
      else     {
	a[i]=x;
	a[i+N]=a[i];}}
fin.close();
}
void maxim(){
for (long i=0;i<N+N;i++){
   S+=a[i];
      if (S<0){
	 S=0;
	 in=i+1;}
       if (S>max){
	  max=S;
	  lg=i-in;}
       if (i+lg>=N+N)
	 break;}
}
int main(){
ofstream fout("buline.out");
citire();
maxim();
fout<<max<<" "<<in+1<<" "<<lg+1<<"\n";
fout.close();
return 0;
}