# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1197417 | pensive | Boxes with souvenirs (IOI15_boxes) | C++20 | Compilation error | 0 ms | 0 KiB |
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define REP(a,i,n) for (ll i=a;i<n;i++)
const int mx = 1e7;
ll pre[mx+1], suf[mx+1];
ll delivery(int N, int K, int L, int positions[]) {
REP(0, i, N) {
pre[i] = min(pre[i] + 2*positions[i], L);
if (i>=K) {
pre[i] += pre[i-K];
}
}
ll ans = 1e11;
for (int i=N-1;i>=0;i--) {
suf[i] = min(suf[i] + 2*(L-positions[i]), L);
if (i <= N-K-1) {
suf[i] += suf[i+K];
}
ans = min(ans, ((i==0) ? 0 : pre[i-1])+suf[i]);
}
return ans;
}
Compilation message (stderr)
boxes.cpp: In function 'long long int delivery(int, int, int, int*)': boxes.cpp:12:21: error: no matching function for call to 'min(long long int, int&)' 12 | pre[i] = min(pre[i] + 2*positions[i], L); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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:1: /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:12:21: note: deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int') 12 | pre[i] = min(pre[i] + 2*positions[i], L); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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:1: /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:12:21: note: deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int') 12 | pre[i] = min(pre[i] + 2*positions[i], L); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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:1: /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:12:21: note: mismatched types 'std::initializer_list<_Tp>' and 'long long int' 12 | pre[i] = min(pre[i] + 2*positions[i], L); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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:1: /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:12:21: note: mismatched types 'std::initializer_list<_Tp>' and 'long long int' 12 | pre[i] = min(pre[i] + 2*positions[i], L); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ boxes.cpp:19:21: error: no matching function for call to 'min(long long int, int&)' 19 | suf[i] = min(suf[i] + 2*(L-positions[i]), L); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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:1: /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:19:21: note: deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int') 19 | suf[i] = min(suf[i] + 2*(L-positions[i]), L); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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:1: /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:19:21: note: deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int') 19 | suf[i] = min(suf[i] + 2*(L-positions[i]), L); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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:1: /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:19:21: note: mismatched types 'std::initializer_list<_Tp>' and 'long long int' 19 | suf[i] = min(suf[i] + 2*(L-positions[i]), L); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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:1: /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:19:21: note: mismatched types 'std::initializer_list<_Tp>' and 'long long int' 19 | suf[i] = min(suf[i] + 2*(L-positions[i]), L); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~