Cod sursa(job #2547789)

Utilizator RaresFelixTudose Rares Felix RaresFelix Data 15 februarie 2020 18:05:09
Problema Deque Scor 15
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#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;
    fi.close();
    fo.close();
    return 0;
}