Cod sursa(job #3253826)

Utilizator rosaaaRosa Elen S. rosaaa Data 4 noiembrie 2024 22:08:16
Problema Secventa 2 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.07 kb
#include <iostream>

using namespace std;
//ifstream cin("secv2.in");
//ofstream cout("secv2.out");

int v[50005];

int main()
{
    int n, k, i, maxi= -2000000000;
    cin >> n>> k;

    for(i= 1;i <= n;i++)
        cin >> v[i];

    int st, dr, sum= -1, start;

    for(i= 1;i <= n;i++)
    {
        if(sum < 0)
            start= i, sum= 0;

        //cout << start<< endl;

        sum+= v[i];

        if(i- start+ 1 >= k)
        {
            if(maxi < sum)
                maxi= sum, st= start, dr= i;
        }
    }

    //cout << maxi<< endl;

    if(maxi < 0)
    {
        sum= 0;
        for(i= 1;i <= k;i++)
            sum+= v[i];

        if(maxi < sum)
            maxi= sum, st= 1, dr= k;
        for(i= 2;i <= n- k+ 1;i++)
        {
            //cout <<"maxi= "<< maxi<< endl;
            sum= sum+ v[i+ k- 1]- v[i- 1];
            if(maxi < sum)
                maxi= sum, st= i, dr= i+ k- 1;
        }
    }

    cout << st<<" "<< dr<< " "<< maxi;

    /*
    7 3
    -3 -5 -6 2 3 -7 -8
    */

    return 0;
}