Submission #532034

#TimeUsernameProblemLanguageResultExecution timeMemory
532034nguyentunglamBoxes with souvenirs (IOI15_boxes)C++14
Compilation error
0 ms0 KiB
#include<bits/stdc++.h> #define forin(i, a, b) for(int i = a; i <= b; i++) #define forde(i, a, b) for(int i = a; i >= b; i--) #define fi first #define se second #define ll long long using namespace std; const int N = 1e7 + 10; int a[N], dp[2][N]; ll delivery(int n, int k, int l,int a[]) {ll res = 1e18; //forin(i, 1, n) cin >> a[i]; forin(i, 1, n) dp[0][i] = dp[0][max(0, i-k)] + a[i] + min(a[i], l-a[i]); forde(i, n, 1) dp[1][i] = dp[1][min(n+1, i+k)] + l-a[i] + min(a[i], l - a[i]); forin(i, 1, n+1) res = min(res, dp[0][i-1] + dp[1][i]); //forde(i, n, 1) cout << dp[1][i]<<" "; return res; }

Compilation message (stderr)

boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:11:37: warning: declaration of 'a' shadows a global declaration [-Wshadow]
   11 | ll delivery(int n, int k, int l,int a[])
      |                                 ~~~~^~~
boxes.cpp:9:5: note: shadowed declaration is here
    9 | int a[N], dp[2][N];
      |     ^
boxes.cpp:16:55: error: no matching function for call to 'min(long long int&, int)'
   16 |  forin(i, 1, n+1) res = min(res, dp[0][i-1] + dp[1][i]);
      |                                                       ^
In file included from /usr/include/c++/10/bits/char_traits.h:39,
                 from /usr/include/c++/10/ios:40,
                 from /usr/include/c++/10/istream:38,
                 from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from boxes.cpp:1:
/usr/include/c++/10/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++/10/bits/stl_algobase.h:230:5: note:   template argument deduction/substitution failed:
boxes.cpp:16:55: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   16 |  forin(i, 1, n+1) res = min(res, dp[0][i-1] + dp[1][i]);
      |                                                       ^
In file included from /usr/include/c++/10/bits/char_traits.h:39,
                 from /usr/include/c++/10/ios:40,
                 from /usr/include/c++/10/istream:38,
                 from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from boxes.cpp:1:
/usr/include/c++/10/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++/10/bits/stl_algobase.h:278:5: note:   template argument deduction/substitution failed:
boxes.cpp:16:55: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   16 |  forin(i, 1, n+1) res = min(res, dp[0][i-1] + dp[1][i]);
      |                                                       ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from boxes.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:3468:5: note: candidate: 'template<class _Tp> constexpr _Tp std::min(std::initializer_list<_Tp>)'
 3468 |     min(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/10/bits/stl_algo.h:3468:5: note:   template argument deduction/substitution failed:
boxes.cpp:16:55: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   16 |  forin(i, 1, n+1) res = min(res, dp[0][i-1] + dp[1][i]);
      |                                                       ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from boxes.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:3474:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::min(std::initializer_list<_Tp>, _Compare)'
 3474 |     min(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/10/bits/stl_algo.h:3474:5: note:   template argument deduction/substitution failed:
boxes.cpp:16:55: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   16 |  forin(i, 1, n+1) res = min(res, dp[0][i-1] + dp[1][i]);
      |                                                       ^