Cod sursa(job #2295398)

Utilizator dragostanTantaru Dragos Constantin dragostan Data 3 decembrie 2018 17:15:20
Problema Secventa 2 Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <fstream>

using namespace std;
ifstream cin("secv2.in");
ofstream cout("secv2.out");
const int DIM = 50001;

int sir[DIM], s[DIM];
int n, k;
int main()
{
    cin >> n >> k;
    int sc = 0, ind1 = 1, ind2;
    for(int i = 1; i <= n; ++i)
    {
        cin >> sir[i];
        s[i] = s[i - 1] + sir[i];
        if(i <= k)
        {
            sc += s[i];
            ind2 = i;
        }
        else
        {
            if(sc + s[i] - s[ind2] > sc && sc + s[i]  - s[ind2] > s[i] - s[i - k])
            {
                sc += s[i] - s[ind2];
                ind2 = i;
            }
            else if(sc < s[i] - s[i - k])
            {
                sc = s[i] - s[i - k];
                ind1 = i - k + 1;
                ind2 = i;
            }
        }
    }
    cout << ind1 << ' ' << ind2 << ' ' << sc;
    return 0;
}