Cod sursa(job #2890966)

Utilizator mirunavramMiruna Avram mirunavram Data 17 aprilie 2022 10:52:04
Problema Secventa 2 Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<bits/stdc++.h>

using namespace std;

int n,sol = INT_MIN,k,indexDreapta,indexStanga,indexFinalStanga;
int sp[6000005],mp[6000005];


int main()
{
    ifstream fin("secv2.in");
    ofstream fout("secv2.out");

    fin>>n>>k;

    sp[0]=0;
    mp[0] = 0;

    for(int i=1;i<=n;i++)

    {
        int x;
        fin>>x;
        sp[i] = sp[i-1] + x;

        if(i >= k){

            int val = sp[i] - mp[i-k];

            if(val > sol){

                sol = val;
                indexDreapta = i;
                indexFinalStanga = indexStanga;
            }
        }

        if( sp[i] < mp[i-1] ){
            indexStanga = i+1;
        }
        mp[i] = min(mp[i-1],sp[i]);




    }

    fout<<indexFinalStanga<<" "<<indexDreapta<<" "<<sol<<'\n';

    return 0;
}