Pagini recente » Cod sursa (job #1250299) | Cod sursa (job #721547) | Cod sursa (job #979273) | Cod sursa (job #2756678) | Cod sursa (job #2030758)
#include <fstream>
#include <deque>
#define in "deque.in"
#define out "deque.out"
#define N 5000005
using namespace std;
ifstream fin(in);
ofstream fout(out);
long long n,k,A[N],i,j;
long long S = 0;
deque<int> dq;
int main()
{
fin>>n>>k;
for(i=1; i<=n; ++i)
fin>>A[i];
for(i=1; i<=k; ++i)
{
while(!dq.empty() && A[dq.back()] >= A[i])
dq.pop_back();
dq.push_back(i);
}
S += A[dq.front()];
for(i=k+1; i<=n; ++i)
{
while(!dq.empty() && A[dq.back()] >= A[i])
dq.pop_back();
dq.push_back(i);
while(i-k >= dq.front())
dq.pop_front();
S += A[dq.front()];
}
fout<<S;
fin.close(); fout.close();
return 0;
}