Submission #793484

#TimeUsernameProblemLanguageResultExecution timeMemory
793484MarkynoodleBoxes with souvenirs (IOI15_boxes)C++17
20 / 100
3 ms312 KiB
#include <bits/stdc++.h>
using namespace std;


#define ll long long


ll delivery(int n, int k, int l, int posin[]){
    vector<int> pos(n);
    for(int i =0; i<n ;i++){
        pos[i] = posin[i];
    }
    ll sol = 1e16;
    sort(pos.begin(), pos.end());
    for(int i = 0; i<=n; i++){

        ll tempsol = 0;
        int cnt = 0;
        int cycle = 1;
        while(cnt < i){
            if(cnt + 1 == i){
                tempsol += pos[cnt];
                tempsol += min(pos[cnt], l - pos[cnt]);
                break;
            }
            if(cycle == k){
                tempsol += pos[cnt];
                tempsol += min(pos[cnt], l - pos[cnt]);
                cycle = 0;
            }
            cnt++;
            cycle++;
        }
        //cout<<tempsol<<" ";
        cnt = n-1;
        cycle = 1;
        while(cnt >= i){
            if(cnt == i){
                tempsol += l - pos[cnt];
                tempsol += min(pos[cnt], l - pos[cnt]);
                break;
            }
            if(cycle == k){
                tempsol += l - pos[cnt];
                tempsol += min(pos[cnt], l - pos[cnt]);
                cycle = 0;
            }
            cnt--;
            cycle++;
        }
        sol = min(sol, tempsol);
        //cout<<tempsol<<"_";

    }

    return sol;
}
#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...