Cod sursa(job #2831960)

Utilizator db_123Balaban David db_123 Data 12 ianuarie 2022 15:49:32
Problema SequenceQuery Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <fstream>
#include <vector>
#include <queue>
#include <climits>

using namespace std;

ifstream cin("sequencequery.in");
ofstream cout("sequencequery.out");

#define FOR(i,a,b) for(int i=(a);i<=(b);i++)

int n,m;
vector<int> v;

void read(){
    cin>>n>>m;
    v.resize(n+1);
    for(int i=1;i<=n;i++){
        cin>>v[i];
    }
}

void solve(){
    queue<int> rez;
    int x,y,sum=0,sumMax=0;
    for(int i=1;i<=m;i++){
        cin>>x>>y;
        sum=v[x];
        sumMax=sum;
        FOR(j,x+1,y){
            if(v[j]<sum+v[j]){
                sum+=v[j];
            }
            else{
                sum=v[j];
            }
            if(sumMax<sum){
                sumMax=sum;
            }
        }
        rez.push(sumMax);
    }
    while(!rez.empty()){
        cout<<rez.front()<<"\n";
        rez.pop();
    }
}

int main() {

    read();
    solve();
    return 0;
}