Submission #530797

#TimeUsernameProblemLanguageResultExecution timeMemory
530797groshiBoxes with souvenirs (IOI15_boxes)C++17
100 / 100
535 ms293680 KiB
#include<iostream>
#include<string>
#include<vector>
#include "boxes.h"
#define ll long long
using namespace std;
ll dp_gora[20000006];
ll dp_dol[20000006];
ll delivery(int N,int K,int L,int poz[])
{
    for(int i=1;i<=N;i++)
    {
        if(i<=K)
            dp_gora[i]=poz[i-1]*2;
        else dp_gora[i]=poz[i-1]*2+dp_gora[i-K];
    }
    for(int i=N;i>=1;i--)
    {
        if(i>=N-K+1)
            dp_dol[i]=2*(L-poz[i-1]);
        else dp_dol[i]=2*(L-poz[i-1])+dp_dol[i+K];
    }
    ll wynik=1e18;
    for(int i=0;i<=N;i++)
        wynik=min(wynik,dp_gora[i]+dp_dol[i+1]);
    for(int i=0;i<=N;i++)
        wynik=min(wynik,dp_gora[i]+dp_dol[i+K+1]+L);
    return wynik;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...