Cod sursa(job #859861)

Utilizator CaligulaGAIVS IVLIVS CAESAR AVGVSTVS GERMANICVS Caligula Data 20 ianuarie 2013 11:27:00
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include<fstream>
#include<deque>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
deque <int> q;
int n,k,a[5001000];
long long sum;
int main()
{int i;
f>>n>>k;
for (i=1;i<=n;++i)
    f>>a[i];
for (i=1;i<=n;++i)
    {while (!q.empty() && a[i]<=a[q.back()]) q.pop_back();
    q.push_back(i);
    if (q.front()==i-k) q.pop_front();
    if (i>=k) sum+=a[q.front()];
    }
g<<sum<<'\n';
return 0;
}