Pagini recente » Cod sursa (job #1721245) | Cod sursa (job #3224607) | Cod sursa (job #128742) | Cod sursa (job #2733073) | Cod sursa (job #2547552)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
#define INF 0x3f3f3f3f
int N,K,rez;
int a[5000005];
int st[5000005],dr[5000005];
int main()
{
fin >> N >> K;
int i;
for (i=1;i<=N;++i)
{
fin >> a[i];
}
for (i=1;i<=N;++i)
{
if (i%K==0)
{
st[i]=a[i];
}
else
{
st[i]=min(a[i],st[i-1]);
}
}
for (i=N;i>=1;--i)
{
if (i%K==0 || i==N)
{
dr[i]=a[i];
}
else
{
dr[i]=min(a[i],dr[i+1]);
}
}
int a=1,b=K;
while (b<=N)
{
rez+=min(dr[a],st[b]);
++a;
++b;
}
fout << rez;
fin.close();
fout.close();
return 0;
}