Cod sursa(job #53303)

Utilizator cristina_ana_tdrToderoiu Cristina Ana cristina_ana_tdr Data 21 aprilie 2007 19:11:26
Problema SequenceQuery Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <stdio.h>
int *T=new int[100000];
int *x=new int[100000];
int *y=new int[100000];
unsigned int n, m, i, j;
long sumamax, sumac, sfarsit, inceput, pozincep;
int main()
{
freopen("sequencequery.in", "r", stdin);
freopen("sequencequery.out", "w", stdout);
scanf("%u %u", &n, &m);
for(i=1; i<=n; ++i)
    scanf("%d", &T[i]);
for(i=1; i<=m; ++i)
    {scanf("%d %d", &x[i], &y[i]);
   sumamax=T[x[i]];
   sumac=sumamax;
   pozincep=x[i];
   sfarsit=x[i];
   for(j=x[i]+1; j<=y[i]; ++j)
       {if(sumac<0)
       {sumac=T[j];
	pozincep=j;
       }
     else
       sumac+=T[j];
    if(sumac>sumamax)
      {sumamax=sumac;
       inceput=pozincep;
       sfarsit=j;
      }
    }
   printf("%ld\n", sumamax);
   }
return 0;
}