Pagini recente » Cod sursa (job #3216523) | Cod sursa (job #1753026) | Cod sursa (job #646288) | Cod sursa (job #591577) | Cod sursa (job #501506)
Cod sursa(job #501506)
#include<deque>
#include<cstdio>
#include<fstream>
using namespace std;
#define m 5000010
int n,k;
int v[m];
long long S;
deque< int > q;
int main()
{
ifstream in ("deque.in");
in>>n>>k;
for(int i=1;i<=n;i++)
in>>v[i];
in.close ();
for(int i=1;i<=n;++i)
{
for(;q.size()&&v[i]<=v[q.back()];q.pop_back());
q.push_back(i);
if(q.front()==i-k) q.pop_front();
if (i>=k) S+=v[q.front()];
}
freopen("deque.out", "w", stdout);
printf("%lld", S);
return 0;
}