Cod sursa(job #1788023)

Utilizator danyvsDan Castan danyvs Data 25 octombrie 2016 15:41:56
Problema Secventa 2 Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <fstream>
#include <deque>

using namespace std;

ifstream fin("secv2.in");
ofstream fout("secv2.out");

const int NMAX = 50001;

int n, k, sum, l, r;
deque < int > DQ;

int main()
{
    int s, i, x, idx;
    fin >> n >> k;
    for (i = 1; i <= k; ++ i)
        {
         fin >> x;
         sum += x;
         DQ.push_back(x);
        }
    l = 1;
    r = k;
    s = sum;
    idx = l;
    for (i = k + 1; i <= n; ++ i)
        {
         fin >> x;
         while (s - DQ.front() >= s && DQ.size() >= k)
            {
             s -= DQ.front();
             DQ.pop_front();
             ++ idx;
            }
         s += x;
         DQ.push_back(x);
         if (s > sum)
            {
             sum = s;
             l = idx;
             r = i;
            }
        }
    fout << l << " " << r << " " << sum << "\n";
    fin.close();
    fout.close();
    return 0;
}