Pagini recente » Cod sursa (job #2311023) | Cod sursa (job #217905) | Cod sursa (job #3240662) | Cod sursa (job #949622) | Cod sursa (job #2547787)
#include <fstream>
using namespace std;
ifstream fi("deque.in");
ofstream fo("deque.out");
int n,k,A[5000002],ST[5000002],DR[5000002];
long long rez;
int main()
{
fi>>n>>k;
for(int i=1;i<=n;i++)
{
fi>>A[i];
if(A[i]%k==1)
ST[i]=A[i];
else
ST[i]=min(A[i],ST[i-1]);
}
DR[n]=A[n];
for(int i=n-1;i>=1;i--)
if(i%k==0)
DR[i]=A[i];
else
DR[i]=min(A[i],DR[i+1]);
int a,b;
a=1;
b=k;
while(b<=n)
{
rez+=min(DR[a],ST[b]);
a++;
b++;
}
fo<<rez;
return 0;
}