Cod sursa(job #270166)

Utilizator dinuddinu dan dinud Data 3 martie 2009 19:49:27
Problema Buline Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.24 kb
#include<stdio.h>
#define DIM 400002
int n,v[DIM],s[DIM],i,pi,pf,max,pmax,b[DIM],a[DIM],j,x;

int main() {
    FILE *f = fopen("ssm.in","r");
    FILE *g = fopen("ssm.out","w");
    
    fscanf(f,"%d",&n);
    for(i=1;i<=n;i++){
                     fscanf(f,"%d",&v[i]);
                     fscanf(f,"%d",&a[i]);
                     if(a[i]==0)
                                v[i]=-v[i];
                     b[i]=v[i];           
                                }  

                                          
    for(i=n+1;i<=2*n;i++)
       for(j=1;j<=n;j++)
                        v[i]=b[j];
                      
   s[1]=v[1];
   pi=1;
   pf=1;
   max=s[1];
   pmax=1;
   for(i=2;i<=2*n;i++){
          if(s[i-1]+v[i]>=v[i])
                              s[i]=s[i-1]+v[i];
               else  { 
                              s[i]=v[i];
                              pi=i;
                              }      
           if(max<s[i]){
                       max=s[i];
                       pf=i;                                     
                       pmax=pi;  
                       }    
}
   fprintf(g,"%d %d %d",max,pmax,pf-pmax); 
    
    
   fclose(f);
   fclose(g); 
    
    
return 0;
}