Pagini recente » Cod sursa (job #588504) | Cod sursa (job #902646) | Cod sursa (job #918886) | Cod sursa (job #1378938) | Cod sursa (job #2543455)
#include <fstream>
using namespace std;
ifstream in("deque.in");
ofstream out("deque.out");
int n,k;
int a[5000005];
int st[5000005],dr[5000005];
int main()
{ in>>n>>k;
for(int i=1;i<=n;i++)
in>>a[i];
st[0]=100000000;
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]=100000000;
dr[n]=a[n];
for(int i=n;i>0;i--)
{ if(i%k==0)
dr[i]=a[i];
else
dr[i]=min(dr[i+1],a[i]);
}
long long s=0;
int l=1;
while(l<=n)
{ s+=min(dr[l],st[l+k-1]);
l++;
}
out<<s<<'\n';
in.close();
out.close();
return 0;
}