Cod sursa(job #2078880)

Utilizator alexsandulescuSandulescu Alexandru alexsandulescu Data 30 noiembrie 2017 10:46:21
Problema Deque Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("deque.in");
ofstream g("deque.out");

int N, K, a[5000003];
long long sum;
deque<int> q;
void afis(deque<int> q, int SUM) {
    int n;
    for (n = 0; n < 10; n++)
        cout<< "\n\n\n\n\n\n\n\n\n\n";
    deque<int> st(q);
    while(!st.empty())
        cout << a[st.front()] << " ", st.pop_front();
    cout << "\n\nSUM=" << sum;

}
int main()
{
    f >> N >> K;
    for(int i = 1; i < K; i++)
        f >> a[i], q.push_back(i);
    for(int i = K; i <= N; i++) {
        f >> a[i];
        while(!q.empty() && a[q.back()] > a[i])
            q.pop_back(), afis(q, sum);
        q.push_back(i), afis(q, sum);
        if(q.front() <= i - K)
            q.pop_front();
        afis(q, sum);
        sum += a[q.front()];
        afis(q, sum);
    }
    g << sum << "\n";
    return 0;
}