# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1266119 | martin_011 | Boxes with souvenirs (IOI15_boxes) | C++20 | Compilation error | 0 ms | 0 KiB |
#include "boxes.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef vector<ll> vll;
typedef vector<int> vi;
long long delivery(int n, int k, int l, int p[]) {
vi a(n, 0);
for (int i=0; i<n; i++) {
a[i] = p[i];
}
ll res = LLONG_MAX;
do {
ll aux = k-1;
ll r = min(a[0], l-a[0]);
ll pa=a[0];
for (int i=1; i<n; i++) {
if (aux <= 0) {
r+= min(a[i-1], l - a[i-1]);
aux = k;
pa=0;
}
r += min(abs(a[i] - pa), min(a[i], pa) + l - max(a[i], pa));
pa = a[i];
aux--;
}
r+= min(a[n-1], l-a[n-1]);
res = min(res, r);
} while(next_permutation(a.begin(), a.end()));
return res;
}
Compilation message (stderr)
boxes.cpp: In function 'long long int delivery(int, int, int, int*)': boxes.cpp:26:41: error: no matching function for call to 'min(__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type&, ll&)' 26 | r += min(abs(a[i] - pa), min(a[i], pa) + l - max(a[i], pa)); | ~~~^~~~~~~~~~ In file included from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from boxes.cpp:2: /usr/include/c++/11/bits/stl_algobase.h:230:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::min(const _Tp&, const _Tp&)' 230 | min(const _Tp& __a, const _Tp& __b) | ^~~ /usr/include/c++/11/bits/stl_algobase.h:230:5: note: template argument deduction/substitution failed: boxes.cpp:26:41: note: deduced conflicting types for parameter 'const _Tp' ('int' and 'll' {aka 'long long int'}) 26 | r += min(abs(a[i] - pa), min(a[i], pa) + l - max(a[i], pa)); | ~~~^~~~~~~~~~ In file included from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from boxes.cpp:2: /usr/include/c++/11/bits/stl_algobase.h:278:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::min(const _Tp&, const _Tp&, _Compare)' 278 | min(const _Tp& __a, const _Tp& __b, _Compare __comp) | ^~~ /usr/include/c++/11/bits/stl_algobase.h:278:5: note: template argument deduction/substitution failed: boxes.cpp:26:41: note: deduced conflicting types for parameter 'const _Tp' ('int' and 'll' {aka 'long long int'}) 26 | r += min(abs(a[i] - pa), min(a[i], pa) + l - max(a[i], pa)); | ~~~^~~~~~~~~~ In file included from /usr/include/c++/11/string:52, from /usr/include/c++/11/bits/locale_classes.h:40, from /usr/include/c++/11/bits/ios_base.h:41, from /usr/include/c++/11/ios:42, from /usr/include/c++/11/istream:38, from /usr/include/c++/11/sstream:38, from /usr/include/c++/11/complex:45, from /usr/include/c++/11/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54, from boxes.cpp:2: /usr/include/c++/11/bits/stl_algo.h:3449:5: note: candidate: 'template<class _Tp> constexpr _Tp std::min(std::initializer_list<_Tp>)' 3449 | min(initializer_list<_Tp> __l) | ^~~ /usr/include/c++/11/bits/stl_algo.h:3449:5: note: template argument deduction/substitution failed: boxes.cpp:26:41: note: mismatched types 'std::initializer_list<_Tp>' and 'int' 26 | r += min(abs(a[i] - pa), min(a[i], pa) + l - max(a[i], pa)); | ~~~^~~~~~~~~~ In file included from /usr/include/c++/11/string:52, from /usr/include/c++/11/bits/locale_classes.h:40, from /usr/include/c++/11/bits/ios_base.h:41, from /usr/include/c++/11/ios:42, from /usr/include/c++/11/istream:38, from /usr/include/c++/11/sstream:38, from /usr/include/c++/11/complex:45, from /usr/include/c++/11/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54, from boxes.cpp:2: /usr/include/c++/11/bits/stl_algo.h:3455:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::min(std::initializer_list<_Tp>, _Compare)' 3455 | min(initializer_list<_Tp> __l, _Compare __comp) | ^~~ /usr/include/c++/11/bits/stl_algo.h:3455:5: note: template argument deduction/substitution failed: boxes.cpp:26:41: note: mismatched types 'std::initializer_list<_Tp>' and 'int' 26 | r += min(abs(a[i] - pa), min(a[i], pa) + l - max(a[i], pa)); | ~~~^~~~~~~~~~ boxes.cpp:26:61: error: no matching function for call to 'max(__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type&, ll&)' 26 | r += min(abs(a[i] - pa), min(a[i], pa) + l - max(a[i], pa)); | ~~~^~~~~~~~~~ In file included from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from boxes.cpp:2: /usr/include/c++/11/bits/stl_algobase.h:254:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)' 254 | max(const _Tp& __a, const _Tp& __b) | ^~~ /usr/include/c++/11/bits/stl_algobase.h:254:5: note: template argument deduction/substitution failed: boxes.cpp:26:61: note: deduced conflicting types for parameter 'const _Tp' ('int' and 'll' {aka 'long long int'}) 26 | r += min(abs(a[i] - pa), min(a[i], pa) + l - max(a[i], pa)); | ~~~^~~~~~~~~~ In file included from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from boxes.cpp:2: /usr/include/c++/11/bits/stl_algobase.h:300:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)' 300 | max(const _Tp& __a, const _Tp& __b, _Compare __comp) | ^~~ /usr/include/c++/11/bits/stl_algobase.h:300:5: note: template argument deduction/substitution failed: boxes.cpp:26:61: note: deduced conflicting types for parameter 'const _Tp' ('int' and 'll' {aka 'long long int'}) 26 | r += min(abs(a[i] - pa), min(a[i], pa) + l - max(a[i], pa)); | ~~~^~~~~~~~~~ In file included from /usr/include/c++/11/string:52, from /usr/include/c++/11/bits/locale_classes.h:40, from /usr/include/c++/11/bits/ios_base.h:41, from /usr/include/c++/11/ios:42, from /usr/include/c++/11/istream:38, from /usr/include/c++/11/sstream:38, from /usr/include/c++/11/complex:45, from /usr/include/c++/11/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54, from boxes.cpp:2: /usr/include/c++/11/bits/stl_algo.h:3461:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(std::initializer_list<_Tp>)' 3461 | max(initializer_list<_Tp> __l) | ^~~ /usr/include/c++/11/bits/stl_algo.h:3461:5: note: template argument deduction/substitution failed: boxes.cpp:26:61: note: mismatched types 'std::initializer_list<_Tp>' and 'int' 26 | r += min(abs(a[i] - pa), min(a[i], pa) + l - max(a[i], pa)); | ~~~^~~~~~~~~~ In file included from /usr/include/c++/11/string:52, from /usr/include/c++/11/bits/locale_classes.h:40, from /usr/include/c++/11/bits/ios_base.h:41, from /usr/include/c++/11/ios:42, from /usr/include/c++/11/istream:38, from /usr/include/c++/11/sstream:38, from /usr/include/c++/11/complex:45, from /usr/include/c++/11/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54, from boxes.cpp:2: /usr/include/c++/11/bits/stl_algo.h:3467:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)' 3467 | max(initializer_list<_Tp> __l, _Compare __comp) | ^~~ /usr/include/c++/11/bits/stl_algo.h:3467:5: note: template argument deduction/substitution failed: boxes.cpp:26:61: note: mismatched types 'std::initializer_list<_Tp>' and 'int' 26 | r += min(abs(a[i] - pa), min(a[i], pa) + l - max(a[i], pa)); | ~~~^~~~~~~~~~