Cod sursa(job #3253794)

Utilizator rosaaaRosa Elen S. rosaaa Data 4 noiembrie 2024 20:54:35
Problema Secventa 2 Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <fstream>

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];
        maxi= sum;
        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;


    return 0;
}