Pagini recente » Cod sursa (job #2738568) | Cod sursa (job #446136) | Cod sursa (job #1848106) | Cod sursa (job #2583630) | Cod sursa (job #1710313)
#include <bits/stdc++.h>
#define N 5000001
using namespace std;
ifstream fin("deque.in");ofstream fout("deque.out");
long long suma=0;deque <int> D;int a[N],n,k;
int main()
{
fin>>n>>k;for(int i=1;i<=n;++i){fin>>a[i];}
int first=1,last=k;D.push_back(a[first]);
for(int i=first+1;i<=last;++i){
while(a[i]<D.back())
{D.pop_back();}
D.push_back(a[i]);}
suma+=D.front();
while(last<n)
{
first++;last++;
if(D.front()==a[first-1])
D.pop_front();
while(D.size()&&a[last]<D.back())
D.pop_back();
D.push_back(a[last]);
suma+=D.front();
}
fout<<suma;
return 0;
}