Cod sursa(job #1873612)

Utilizator aaron72Armand Ioan Anusca Popa aaron72 Data 9 februarie 2017 11:49:17
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <bits/stdc++.h>

using namespace std;

deque < pair <int,int> > q;
int n,k;

int main()
{
    int x,sum=0;
    ifstream fin("deque.in");
    fin>>n>>k;
    for(int i=1;i<=k;i++){
        fin>>x;
        while(!q.empty()&&q.back().first>x) q.pop_back();
        q.push_back(make_pair(x,i));
    }
    sum=q.front().first;
    for(int i=k+1;i<=n;i++){
        for(int j=0;j<q.size();j++)
            cout<<q[j].first<<' ';
        cout<<'\n';
        fin>>x;
        if(i-q.front().second>=k) q.pop_front();
        while(!q.empty()&&q.back().first>x) q.pop_back();
        q.push_back(make_pair(x,i));
        sum+=q.front().first;
    }
    fin.close();
    ofstream fout("deque.out");
    fout<<sum<<'\n';
    fout.close();
    return 0;
}