Pagini recente » Cod sursa (job #358688) | Cod sursa (job #1930639) | Cod sursa (job #493269) | Cod sursa (job #1032721) | Cod sursa (job #253062)
Cod sursa(job #253062)
#include <cstdio>
#include <deque>
#define FIN "deque.in"
#define FOUT "deque.out"
#define N 5000007
using namespace std;
int n,k;
long long s;
int v[N];
deque <int> d;
void read()
{
int i;
deque <int> :: iterator it;
freopen(FIN,"r",stdin);
scanf("%d%d", &n, &k);
scanf("%d", &v[1]);
d.push_back(1);
for (i = 2; i <= n; ++i)
{
scanf("%d", &v[i]);
if (i - d.front() >= k)
d.pop_front();
while ( d.size() && v[i] < v[ d.back() ])
d.pop_back();
d.push_back(i);
if(i>=k)
s += v[ d.front() ];
}
}
void write()
{
freopen(FOUT,"w",stdout);
printf("%lld \n", s);
}
int main()
{
read();
//solve();
write();
}