Cod sursa(job #767565)

Utilizator bratualexBratu Alexandru bratualex Data 13 iulie 2012 20:19:45
Problema SequenceQuery Scor 55
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.16 kb

#include <fstream>

using namespace std;
ifstream fin("sequencequery.in");
ofstream fout("sequencequery.out");
void citire ( int &,int &);
void ssm (int ,int );
int max ( int ,int );
int v[6000020];
int main()
{
    int n,k,i,x,y;
    citire(n,k);
    for(i=0;i<k;i++)
    {
        fin>>x>>y;
        ssm (x,y);
    }//fout<<n;
    return 0;
}

void ssm ( int a, int b)
{
    long long i,best[4],maxim;
    //fin>>v[i];
    best[a%2]=v[a];
    maxim=v[a];
    for (i=a+1;i<=b;i++)
    {
        //fin>>v[i];
        best[i%2]=max(v[i],best[!(i%2)]+v[i]);
        //if (v[i]>best[!(i%2)]+v[i])
        //{

          //  istart=i;
        //}
        if(best[i%2]>maxim)
            {
        //        imaxs=istart;
          //      imaxsf=i;
                maxim=best[i%2];
            }
    }
    //if (maxim>best[b])
        fout<<maxim<<"\n";//'<<imaxs<<" "<<imaxsf;
    //else
       // fout<<best[b]<<" "<<istart<<" "<<b;
}

void citire (int &n,int &k)
{
    int i;
    fin>>n>>k;
    for(i=1;i<=n;i++)
    {
        fin>>v[i];

    }
}
int max ( int a,int b)
{
    if (a>b)
        return a;
    return b;
}