Pagini recente » Cod sursa (job #1530982) | Cod sursa (job #1313973) | Cod sursa (job #1308955) | Cod sursa (job #1311723) | Cod sursa (job #1314001)
#include <cstdio>
using namespace std;
int v[5000000],n,k,pm,vm;
long long int s;
void cauta(int j)
{
int i;
vm=v[j];
pm=j;
for(i=j;i<j+k;i++)
if(v[i]<vm)
{
vm=v[i];
pm=i;
}
}
int main()
{
int i;
FILE *f=fopen("deque.in","r");
fscanf(f,"%d%d",&n,&k);
for(i=1;i<=n;i++)
fscanf(f,"%d",&v[i]);
fclose(f);
cauta(1);
s=vm;
for(i=k+1;i<=n;i++)
{
if(i-pm>=k)
cauta(pm+1);
if(v[i]<vm)
{
vm=v[i];
pm=i;
}
s+=vm;
}
f=fopen("deque.out","w");
fprintf(f,"%lld",s);
fclose(f);
return 0;
}