Cod sursa(job #252803)
Utilizator | Data | 4 februarie 2009 22:12:53 | |
---|---|---|---|
Problema | Deque | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.36 kb |
#include<fstream.h>
#define max 5000000
ifstream fi("deque.in");
ofstream g("deque.out");
long long a[max],i,sum,f,b,k,n,d[max];
int main()
{
fi>>n>>k;
for(i=1;i<=n;i++)
fi>>a[i];
f=1;
b=0;
for(i=1;i<=n;i++)
{
while(f<=b && a[i]<=a[d[b]])
b--;
d[++b]=i;
if(d[f]==i-k) f++;
if(i>=k) sum+=a[d[f]];
}
g<<sum;
return 0;
}