Cod sursa(job #2476977)

Utilizator DianatepTepus Diana Dianatep Data 19 octombrie 2019 13:28:51
Problema Cuburi2 Scor 50
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <iostream>
#include<cstdio>
using namespace std;

long long n, i, j, k, m, v[250010], st, dr, poz;
long long cst, cdr, mi, s[250010];


int main()

{
    freopen("cuburi2.in", "r", stdin);
    freopen("cuburi2.out", "w", stdout);

    cin>>n>>m;
    for(i=1; i<=n; i++){
        cin>>v[i];
        s[i]=s[i-1]+v[i];
    }

    for(i=1; i<=m; i++){
        cin>>st>>dr;
        cdr=0;
        cst=0;
        for(j=st; j<=dr; j++){
             cdr+=(s[dr]-s[j]);
        }
        mi=cdr;
        poz=st;
        for(j=st+1; j<=dr; j++){
            cst+=(s[j-1]-s[st-1]);
            cdr-=(s[dr]-s[j-1]);
            if(cdr+cst<mi){
                mi=cdr+cst;
                poz=j;
            }
        }

        cout<<poz<<" "<<mi<<endl;
    }

    return 0;

}