Pagini recente » Statistici Diana Farcas (dianafarcas) | Cod sursa (job #123260) | Cod sursa (job #1153087) | Cod sursa (job #1162227) | Cod sursa (job #2543487)
#include <iostream>
#include <fstream>
using namespace std;
int n,k;
int A[5000001];
int ST[5000001];
int DR[5000001];
int main()
{
ifstream fin("deque.in");
ofstream fout("deque.out");
fin>>n>>k;
for (int i=1;i<=n;i++)
fin>>A[i];
ST[0]=2000000000;
/// se construieste sirul ST
for (int i=1;i<=n;i++)
if (i%k==1)
ST[i]=A[i];
else
ST[i]=min(ST[i-1],A[i]);
DR[n+1]=2000000000;
DR[n]=A[n];
for (int i=n-1;i>=1;i--)
if (i%k==0)
DR[i]=A[i];
else
DR[i]=min(DR[i+1],A[i]);
long long rez;
rez=0;
int a,b;
a=1;
b=k;
while (b<=n)
{
rez=rez+min(DR[a],ST[b]);
a++;
b++;
}
fout<<rez;
return 0;
}