Pagini recente » Cod sursa (job #648441) | Cod sursa (job #290860) | Cod sursa (job #468901) | Cod sursa (job #1179378) | Cod sursa (job #1324500)
#include<stdio.h>
#include<set>
#include<vector>
#define FIN "deque.in"
#define FOUT "deque.out"
#define MAX 5000000
using namespace std;
multiset<int> heap;
int arr[MAX];
long int sum;
unsigned int n,k;
int read()
{
freopen(FIN,"r",stdin);
freopen(FOUT,"w",stdout);
scanf("%d %d ", &n, &k);
for(int i=1;i<=n;i++)
{
scanf("%d", &arr[i]);
}
return 0;
}
int solve()
{
for(int i=1;i<=k;i++)
heap.insert(arr[i]);
int index = k;
while(index < n)
{
int minn = *heap.begin();
sum += minn;
heap.erase(arr[index - k]);
heap.insert(arr[index - k + 1]);
index++;
}
sum += *heap.begin();
return 0;
}
int write()
{
printf("%d", sum);
return 0;
}
int main()
{
read();
solve();
write();
}