Pagini recente » Cod sursa (job #2408068) | Cod sursa (job #1082938) | Cod sursa (job #776312) | Cod sursa (job #1941034) | Cod sursa (job #2036247)
#include <fstream>
#include <deque>
#define MAXN 5000041
using namespace std;
ifstream f("deque.in"); ofstream g("deque.out");
int n,k,a[MAXN];
long long s=0;
deque <int> D;
int main()
{ f>>n>>k;
for(int i=1; i<=n; i++) f>>a[i];
for(int i=1; i<=n; i++)
if(i<k)
{ while(!D.empty()&& a[i]<=a[D.back()]) D.pop_back();
D.push_back(i);
}
else
{ while(!D.empty()&&a[i]<=a[D.back()]) D.pop_back();
D.push_back(i);
if(D.front()<=i-k) D.pop_front();
s+=a[D.front()];
}
g<<s;
return 0;
}