Cod sursa(job #820273)
Utilizator | Data | 20 noiembrie 2012 17:28:08 | |
---|---|---|---|
Problema | Deque | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.31 kb |
#include<fstream>
long long n, k,a[5000000],poz[5000000],i,st,dr,s=0;
int main ()
{ifstream f("deque.in");
ofstream g("deque.out");
f>>n>>k;
st=1;
dr=0;
for(i=1;i<=n;i++)
f>>a[i];
for(i=1;i<=n;i++)
{while(dr>=st&&a[i]<=a[poz[dr]])dr--;
poz[++dr]=i;
if(poz[st]+k==i)st++;
if(i>=k)s+=a[poz[st]];
}
g<<s;}