Pagini recente » Cod sursa (job #3201408) | Cod sursa (job #330669) | Cod sursa (job #3257313) | Cod sursa (job #3291811) | Cod sursa (job #1004243)
#include<iostream>
#include<fstream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<ctime>
using namespace std;
int n,a[5000005],k,deq[5000005];
long long suma;
inline void Citire()
{
int i;
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
scanf("%d%d",&n,&k);
for (i=1;i<=n;i++)
scanf("%d",&a[i]);
}
inline void Rezolva()
{
int i,minim=11000000,poz,pr,ul;
for (i=1;i<=k;i++)
{
deq[1]=a[i];
if (a[i]<minim)
{minim=a[i]; poz=i;}
}
pr=1;ul=k;
suma=suma+minim;
sort ( deq + 1 , deq + 1 + n );
for (i=k+1;i<=n;i++)
{
if (i-k==poz)
pr++;
while (a[i]<deq[ul] && ul>pr)
ul--;
deq[++ul]=a[i];
suma+=deq[pr];
}
cout<<suma<<"\n";
}
int main()
{
Citire();
Rezolva();
return 0;
}