Cod sursa(job #1076386)

Utilizator rebound212Mihnea Savu rebound212 Data 10 ianuarie 2014 09:05:15
Problema SequenceQuery Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <cstdio>

using namespace std;
int i,n,a[6000001],inceput,sfarsit,MAX,q,sum,x,y,m,j;
bool ok;
int main()
{
    freopen("sequencequery.in","r",stdin);
    freopen("sequencequery.out","w",stdout);
    scanf("%d %d",&n,&m);
    sum=-200000000;
    for(i=1; i<=n; i++)
    {
        scanf("%d",&a[i]);
    }
    for(j=1;j<=m;j++)
{  sum=-200000000;
q=0;
inceput=0;
sfarsit=0;
MAX=-2000000;
    scanf("%d %d",&x, &y);
    for(i=x; i<=y; i++)
    { ok=true;
     if(a[i]==0) {ok=false;}
        if(sum<0)
        {
            sum=a[i];
            q=i;
        }
        else
        {
            sum+=a[i];
        }
        if(ok){
        if(sum>MAX)
        {
            MAX=sum;
            inceput=q;
            sfarsit=i;
        }
        }
        else{if(sum>=MAX)
        {
            MAX=sum;
            inceput=q;
            sfarsit=i;
        }}
    }
    printf("%d\n",MAX);

}
    return 0;
}