Pagini recente » Cod sursa (job #2615631) | Rating Dragomir Ioana Andreea (ioana001) | Cod sursa (job #670949) | Cod sursa (job #1808685) | Cod sursa (job #2979096)
#include <fstream>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int a[5000002],q[5000002];
int main()
{
int N,K;
long long s=0;
fin>>N>>K;
for(int i=0;i<N;i++) fin>>a[i];
int primul=1,ultimul=0;
for(int i=0;i<K;i++){
while(primul<=ultimul&&a[q[ultimul]]>=a[i]){
ultimul--;
}
ultimul++;
q[ultimul]=i;
}
s=s+a[q[primul]];
for(int i=K;i<N;i++){
while(primul<=ultimul&&a[q[ultimul]]>=a[i]){
ultimul--;
}
ultimul++;
q[ultimul]=i;
while(q[primul]<i-K+1){
primul++;
}
s=s+a[q[primul]];
}
fout<<s;
}