Pagini recente » Cod sursa (job #1901253) | Cod sursa (job #2114101) | Cod sursa (job #2729358) | Cod sursa (job #150525) | Cod sursa (job #2491481)
#include<bits/stdc++.h>
using namespace std;
ifstream in("deque.in");
ofstream out("deque.out");
int n,k;
int valori[5000000];
void read()
{
in>>n>>k;
for(int i=0; i<n; i++)
{
in>>valori[i];
}
}
struct element
{
int value,index;
};
void solve()
{
deque<element> sequence;
long long result=0;
for(int i=0; i<n; i++)
{
while(sequence.size() && sequence.back().value>=valori[i])
{
sequence.pop_back();
}
sequence.push_back(element{valori[i],i});
if(i>=k-1)
{
result+=sequence.front().value;
}
if((i-sequence.front().index+1)>=k)
{
sequence.pop_front();
}
}
out<<result<<endl;
}
int main()
{
read();
solve();
}