Cod sursa(job #1005262)

Utilizator cozmin97Gemene Cozmin cozmin97 Data 4 octombrie 2013 17:12:08
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include<fstream>
#include<deque>
#include<vector>
#define In "deque.in"
#define Out "deque.out"
using namespace std;
deque< int  >q;
vector < int > v;
long long sum;
int main()
{
    int i,n,k;
    ifstream fin(In);
    fin>>n>>k;
    v.resize(n+1);
    for(i=1;i<=n;i++)
    {
        fin>>v[i];
        while(!q.empty() && v[q.back()]>=v[i])
            q.pop_back();
        q.push_back(i);
        if(q.front()==i-k)
            q.pop_front();
        if(i>=k)
            sum+=v[q.front()];
    }
    ofstream fout(Out);
    fout<<sum<<"\n";
    fin.close();
    fout.close();
    return 0;
}