Cod sursa(job #1101456)
Utilizator | Data | 8 februarie 2014 15:05:29 | |
---|---|---|---|
Problema | Deque | Scor | 25 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.51 kb |
#include<fstream>
#include<deque>
using namespace std;
ifstream in("deque.in");
ofstream out("deque.out");
const int nmax=5000000;
int v[nmax];
int main()
{
int n,aux,i,s=0;
deque <int> d;
in>>n>>aux;
for(i=0; i<n; i++)
{
in>>v[i];
while(!d.empty() && v[i] < v[d.back()])
d.pop_back();
d.push_back(i);
if( d.front() <= i - aux) d.pop_front();
if ( i >= aux - 1 ) s+=v[d.front()];
}
out<<s;
return 0;
}