Submission #1312758

#TimeUsernameProblemLanguageResultExecution timeMemory
1312758activedeltorreBoxes with souvenirs (IOI15_boxes)C++20
0 / 100
0 ms332 KiB
#include "boxes.h"
#include <stdio.h>
#include <stdlib.h>
#include <vector>
#include <algorithm>
using namespace std;
vector<int>st;
vector<int>dr;
long long dp1[10000001];
long long dp2[10000001];
long long delivery(int N, int K, int L, int p[])
{
    int k=K,l=l;
    for(int i=0;i<N;i++)
    {
        if(p[i]<=(L/2))
        {
            st.push_back(p[i]);
        }
        else
        {
            dr.push_back(p[i]);
        }
    }
    reverse(dr.begin(),dr.end());
    for(int i=1;i<=st.size();i++)
    {
        dp1[i]=dp1[max(i-k,0)]+2*st[i-1];
    }
    for(int i=1;i<=dr.size();i++)
    {
        dp2[i]=dp2[max(i-k,0)]+2*(l-dr[i-1]);
    }
    long long ans1=dp1[st.size()]+dp2[dr.size()];
    for(int off=1;off<k;off++){
        ans1=min(ans1,L+dp1[max((int)st.size()-off,0)]+dp2[max((int)dr.size()-(k-off),0)]);
    }
    return ans1;
}
#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...