Submission #430967

#TimeUsernameProblemLanguageResultExecution timeMemory
430967CollypsoBoxes with souvenirs (IOI15_boxes)C++17
10 / 100
1 ms216 KiB
#include <bits/stdc++.h>
#define ll long long
#define ld long double
#define pii pair<int, int>
#define pll pair<ll, ll>
#define vt vector
#define pb push_back
#define all(x) (x).begin(), (x).end()
#define sz(x) (int) (x).size()
#pragma GCC optimize ("O3")
#pragma GCC optimize ("O2")
#define F first
#define S second
//#define endl '\n'
//#define int long long

using namespace std;

ll delivery(int N, int K, int L, int p[])
{
    if (K == 1)
    {
        ll ans = 0;
        for(int i = 0; i < N; i++) ans += 2 * min(p[i], L - p[i]);
        return ans;
    }
    if (K == N)
    {
        vt<int> v, pos;
        for(int i = 0; i < N; i++) v.pb(p[i]);
        sort(all(v)); pos.pb(v[0]);
        for(int i = 1; i < N; i++)
            if (v[i] != *pos.rbegin()) pos.pb(v[i]);
        ll mn = L;
        for(int i = 0; i < sz(pos) - 1; i++)
            mn = min(mn, 2ll * pos[i] + 2ll * (L - pos[i]));
        mn = min(mn, 2ll * (L - pos[0]));
        mn = min(mn, 2ll * (*pos.rbegin()));
        return mn;
    }
}

Compilation message (stderr)

boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:41:1: warning: control reaches end of non-void function [-Wreturn-type]
   41 | }
      | ^
#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...