Cod sursa(job #245131)
Utilizator | Data | 16 ianuarie 2009 21:50:55 | |
---|---|---|---|
Problema | Deque | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.55 kb |
#include <fstream>
#include <deque>
#define NMAX 5000010
using namespace std;
int V[NMAX], N, K;
deque <int> deq;
long long S;
int main()
{
ifstream f ("deque.in");
ofstream g ("deque.out");
int i,nr,x;
f>>N>>K;
for(i=1;i<=N;i++) f>>V[i];
for(i=1;i<=N;i++)
{
nr=1;
while(V[i]>deq.front()) deq.pop_front();
deq.push_back(V[i]),nr++;
if(nr==K) x=deq.back(),deq.pop_back(), nr--;
S+=x;
}
g<<S;
return 0;
}