Cod sursa(job #2320323)

Utilizator PatrickCplusplusPatrick Kristian Ondreovici PatrickCplusplus Data 14 ianuarie 2019 17:22:02
Problema Secventa 2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <fstream>
using namespace std;
ifstream cin("secv2.in");
ofstream cout("secv2.out");
int main()
{
    int n, k, ok = 1, st_final, dr_final, st, dr;
    cin >> n >> k;
    long long v[n], maxim = 0, maxim_final = 0;
    for (int i = 0; i < n; ++i)
    {
        cin >> v[i];
        if (i < k)
            maxim_final += v[i];
    }
    dr_final = k - 1;
    st_final = 0;
    st = dr = 0;
    maxim = v[0];
    for (int i = 1; i < n; ++i)
    {
        if (v[i] > maxim + v[i])
        {
            maxim = v[i];
            st = dr = i;
        }
        else
        {
            maxim = maxim + v[i];
            ++dr;
        }
        if (dr - st + 1 >= k)
        {
            if (maxim > maxim_final)
            {
                maxim_final = maxim;
                st_final = st;
                dr_final = dr;
            }
        }
    }
    cout << st_final + 1 << " " << dr_final + 1 << " " << maxim_final;
}