Pagini recente » Cod sursa (job #242090) | Cod sursa (job #1476578) | Cod sursa (job #2431054) | Cod sursa (job #2957078) | Cod sursa (job #1008791)
#include <iostream>
#include <fstream>
#include <cstring>
#include <string>
#include <climits>
#include <algorithm>
#include <cmath>
#include <queue>
#include <deque>
#include <iomanip>
#include <stack>
#include <cstdio>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
#define baza 10
#define MAX 5000100
typedef long long int lli;
deque <pair <lli, lli> > coada;
void insert(int a, int b)
{
coada.push_back(make_pair(a,b));
}
int main()
{
int n,k, sum=0, i, s;
fin>>n>>k;
for(i=1;i<=n;i++)
{
fin>>s;
if(!coada.empty())
{
while(coada.back().first>=s)
{
coada.pop_back();
}
}
insert(s,i);
if(coada.front().second<=i-k)
{
coada.pop_front();
}
if(i>=k)
sum+=coada.front().first;
}
fout<<sum;
return 0;
}