Pagini recente » Statisticile problemei Defrisare | UVS e la putere | Sedinta 2007-10-27 | Monitorul de evaluare | Cod sursa (job #943524)
Cod sursa(job #943524)
#include <queue>
#include <fstream>
#include <cstdlib>
using namespace std;
const int NMAX = 5000011;
int v[NMAX];
deque<int> dQ;
int main()
{
int N, K, i;
long long int sum;
ifstream in("deque.in");
ofstream out("deque.out");
sum = 0;
in >> N >> K;
for(i = 1; i <= N; ++i)
{
in >> v[i];
while(!dQ.empty() && v[dQ.back()] >= v[i]) dQ.pop_back();
dQ.push_back(i);
if(i >= K)
{
sum += v[dQ.front()];
}
if(i - dQ.front() == K - 1)
{
dQ.pop_front();
}
}
out << sum << '\n';
}