Cod sursa(job #871953)

Utilizator SchullerClaudiuSchuller Claudiu SchullerClaudiu Data 5 februarie 2013 16:45:00
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include<iostream>
#include<fstream>
# define max 5000007
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");

long n,k,p,sf,a[max],d[max];
long long s;

int main()
{long i;

fin>>n>>k;
for(i=1;i<=n;i++)
fin>>a[i];

p=sf=1;
for(i=1;i<=n;i++)
{
while(p<=sf&&a[i]<=a[d[sf]])
sf--;

d[++sf]=i;

if(d[p]==i-k)p++;

if(i>=k) s+=a[d[p]];
}

fout<<s<<'\n';

fin.close();
fout.close();
return 0;
}