Submission #434257

#TimeUsernameProblemLanguageResultExecution timeMemory
434257TangentBoxes with souvenirs (IOI15_boxes)C++17
0 / 100
2068 ms280 KiB
#include "boxes.h" #include "bits/stdc++.h" using namespace std; typedef long long ll; typedef pair<int, int> pii; typedef pair<ll, ll> pll; typedef vector<int> vii; typedef vector<ll> vll; typedef vector<pii> vpii; typedef vector<pll> vpll; typedef vector<vii> vvii; typedef vector<vll> vvll; typedef vector<vpii> vvpii; typedef vector<vpll> vvpll; #define ffor(i, a, b) for (ll i = (a); i < (ll)(b); i++) #define fford(i, a, b) for (ll i = (a); i > (ll)(b); i--) #define rep(i, n) ffor(i, 0, n) #define forin(x, a) for (auto &x: a) #define all(a) a.begin(), a.end() long long delivery(int N, int K, int L, int p[]) { vii ord(N); rep(i, N) { ord[i] = i; } ll res = N * L; do { ll curr = 0; int pos = 0, rem = K; rep(i, N) { if (2 * abs(pos - p[ord[i]]) >= L) { rem = K - 1; curr += L - abs(pos - p[ord[i]]); } else { rem--; curr += abs(pos - p[ord[i]]); } pos = p[ord[i]]; if (rem == 0) { curr += min(pos, L - pos); rem = K; pos = 0; } } res = min(res, curr + min(pos, L -pos)); } while (next_permutation(all(ord))); return res; }

Compilation message (stderr)

boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:27:18: warning: conversion from 'll' {aka 'long long int'} to '__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type' {aka 'int'} may change value [-Wconversion]
   27 |         ord[i] = i;
      |                  ^
#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...