Submission #102212

#TimeUsernameProblemLanguageResultExecution timeMemory
102212Leonardo_PaesBoxes with souvenirs (IOI15_boxes)C++11
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; const int MAXN = 2e7 + 10; //int n, k, l, vet[MAXN]; typedef long long ll; long long delivery(long long N, long long K, long long L, int positions[MAXN]){ long long x = N, sum=0; long long ini=0, fim=N-1; for(long long i=x; i>1; i-=2){ if(ini+(K-1)<=N-1 and fim-(K-1)>=0 and (2*((ll)positions[ini+(K-1)]))<(2*(L-(ll)positions[fim-(K-1)]))){ sum+=(long long)2*(long long)(positions[ini+(K-1)]); ini+=K; } else if (2*(L-(ll)positions[fim-(K-1)]) < L){ sum+=2*(L-(ll)positions[fim-(K-1)]); fim-=K; } else{ sum+=L; ini+=K; } } sum+=(long long)min(2*positions[ini], 2*(L-positions[fim])); return sum; } /* int main(){ cin >> n >> k >> l; for(int i=0; i<n; i++){ cin >> vet[i]; } cout << delivery(n, k, l, vet) << endl; } */

Compilation message (stderr)

boxes.cpp: In function 'long long int delivery(long long int, long long int, long long int, int*)':
boxes.cpp:31:63: error: no matching function for call to 'min(int, long long int)'
     sum+=(long long)min(2*positions[ini], 2*(L-positions[fim]));
                                                               ^
In file included from /usr/include/c++/7/bits/char_traits.h:39:0,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from boxes.cpp:1:
/usr/include/c++/7/bits/stl_algobase.h:195:5: note: candidate: template<class _Tp> const _Tp& std::min(const _Tp&, const _Tp&)
     min(const _Tp& __a, const _Tp& __b)
     ^~~
/usr/include/c++/7/bits/stl_algobase.h:195:5: note:   template argument deduction/substitution failed:
boxes.cpp:31:63: note:   deduced conflicting types for parameter 'const _Tp' ('int' and 'long long int')
     sum+=(long long)min(2*positions[ini], 2*(L-positions[fim]));
                                                               ^
In file included from /usr/include/c++/7/bits/char_traits.h:39:0,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from boxes.cpp:1:
/usr/include/c++/7/bits/stl_algobase.h:243:5: note: candidate: template<class _Tp, class _Compare> const _Tp& std::min(const _Tp&, const _Tp&, _Compare)
     min(const _Tp& __a, const _Tp& __b, _Compare __comp)
     ^~~
/usr/include/c++/7/bits/stl_algobase.h:243:5: note:   template argument deduction/substitution failed:
boxes.cpp:31:63: note:   deduced conflicting types for parameter 'const _Tp' ('int' and 'long long int')
     sum+=(long long)min(2*positions[ini], 2*(L-positions[fim]));
                                                               ^
In file included from /usr/include/c++/7/algorithm:62:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:65,
                 from boxes.cpp:1:
/usr/include/c++/7/bits/stl_algo.h:3450:5: note: candidate: template<class _Tp> _Tp std::min(std::initializer_list<_Tp>)
     min(initializer_list<_Tp> __l)
     ^~~
/usr/include/c++/7/bits/stl_algo.h:3450:5: note:   template argument deduction/substitution failed:
boxes.cpp:31:63: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
     sum+=(long long)min(2*positions[ini], 2*(L-positions[fim]));
                                                               ^
In file included from /usr/include/c++/7/algorithm:62:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:65,
                 from boxes.cpp:1:
/usr/include/c++/7/bits/stl_algo.h:3456:5: note: candidate: template<class _Tp, class _Compare> _Tp std::min(std::initializer_list<_Tp>, _Compare)
     min(initializer_list<_Tp> __l, _Compare __comp)
     ^~~
/usr/include/c++/7/bits/stl_algo.h:3456:5: note:   template argument deduction/substitution failed:
boxes.cpp:31:63: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
     sum+=(long long)min(2*positions[ini], 2*(L-positions[fim]));
                                                               ^