Cod sursa(job #295230)
Utilizator | Data | 3 aprilie 2009 09:08:08 | |
---|---|---|---|
Problema | Deque | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.29 kb |
#include<fstream.h>
int N,K,A[5000001],d[5000001],p=1,u,i=1;
long long s;
int main()
{ifstream f("deque.in");
ofstream g("deque.out");
f>>N>>K;
for(;i<=N;++i)
{f>>A[i];
for(;p<=u&&A[i]<=A[d[u]];--u);
d[++u]=i;
if(d[p]==i-K)p++;
if(i>=K)
s+=A[d[p]];
}
g<<s;
return 0;
}