Cod sursa(job #812406)
| Utilizator | Data | 13 noiembrie 2012 20:31:05 | |
|---|---|---|---|
| Problema | Deque | Scor | 25 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.49 kb |
#include <fstream>
#define NMAX 5000002
using namespace std;
ifstream in("deque.in");
ofstream out("deque.out");
int N,K,Sum;
int Deque[NMAX],S,F;
int V[NMAX];
int main()
{
int i;
in>>N>>K;
for(i=1;i<=N;i++)
{
in>>V[i];
while(i - Deque[S] >=K)
++S;
while(F>=S&&V[i] <= V[Deque[F]])
F--;
Deque[++F] = i;
if(i>=K)
Sum += V[Deque[S]];
}
out<<Sum<<'\n';
return 0;
}
