Cod sursa(job #2180603)

Utilizator AndreiVisoiuAndrei Visoiu AndreiVisoiu Data 20 martie 2018 23:25:33
Problema Secventa 2 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream in("secv2.in");
ofstream out("secv2.out");
int maxSum, i, n, x, beg, endi, idx, s[50002], k, mini = 0, partiala = -2147483648, begp, endp;
int main()
{
    in >> n >> k;
    for(i = 1; i <= n; i++) {
        in >> s[i];
    }

    for(i = 1; i <= n; i++) {
        s[i] += s[i-1];
        if(partiala < s[i] - mini) partiala = s[i] - mini, begp = idx+1, endp = i;
        if(i-idx+1 >= k) maxSum = partiala, beg = begp, endi = endp;
        if(mini > s[i]) mini = s[i], idx = i;
    }

    out << beg << " " << endi << " " << maxSum;
    in.close(), out.close();
    return 0;
}