Cod sursa(job #3172852)

Utilizator CCCatalinCojocaru Catalin CCCatalin Data 21 noiembrie 2023 13:34:37
Problema SequenceQuery Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f("sequencequery.in");
ofstream g("sequencequery.out");
#define NMAX 100000
int n,m,V[NMAX+5],A[4*NMAX+5],x,y,sol;
void build(int nod,int st,int dr)
{
    if(st==dr)
        A[nod]=V[st];
    else
    {
        int mij=(st+dr)/2;
        build(2*nod,st,mij);
        build(2*nod+1,mij+1,dr);
        A[nod]=A[2*nod]+A[2*nod+1];
    }
}
int main()
{
    f>>n>>m;
    for(int i=1;i<=n;i++)
    {
        f>>V[i];
    }
    while(f>>x>>y)
    {
        build(1,x,y);
        int dr=y,st=x;
        sol=A[1];
        while(V[dr]<0&&dr>st)
        {
            sol-=V[dr];
            dr--;
        }
        while(V[st]<0&&st<dr)
        {
            sol-=V[st];
            st++;
        }
        g<<sol<<endl;
    }
    return 0;
}