Cod sursa(job #1520042)
Utilizator | Data | 8 noiembrie 2015 11:13:34 | |
---|---|---|---|
Problema | Deque | Scor | 25 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.39 kb |
#include<fstream>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int n,K,S=0,V[5000007],D[5000007],fr=1,bk=0;
int main()
{
f>>n>>K;
for(int i=1;i<=n;++i)f>>V[i];
for(int i=1;i<=n;++i)
{
while(bk>=fr&&V[i]<V[D[bk]]) bk--;
D[++bk]=i;
if(i-K==D[fr]) fr++;
if(i>=K) S+=V[D[fr]];
}
g<<S<<'\n';
return 0;
}