Submission #1302238

#TimeUsernameProblemLanguageResultExecution timeMemory
1302238nicolo_010Horses (IOI15_horses)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #include "horses.h" using namespace std; using ll = long long; using pii = pair<int, int>; const int MOD = 1e9+7; const ll INF = 1e18; int* x; int* y; int n; int init(int N, int* a, int* b) { x = a; y = b; n = N; vector<ll> xx, yy; xx.push_back(x[0]); yy.push_back(y[0]); for (int i=1; i<n; i++) { if (x[i] == 1) { yy.back() = max(yy.back(), y[i]); } else { xx.push_back(x[i]); yy.push_back(y[i]); } } ll ans=0; ll am=1; for (int i=0; i<(int)xx.size(); i++) { am *= xx[i]; am %= MOD; ans = max(ans, am*yy[i]); ans %= MOD; } return ans; } int updateX(int pos, int val) { x[pos] = val; vector<ll> xx, yy; xx.push_back(x[0]); yy.push_back(y[0]); for (int i=1; i<n; i++) { if (x[i] == 1) { yy.back() = max(yy.back(), y[i]); } else { xx.push_back(x[i]); yy.push_back(y[i]); } } ll ans=0; ll am=1; for (int i=0; i<(int)xx.size(); i++) { am *= xx[i]; am %= MOD; ans = max(ans, am*yy[i]); ans %= MOD; } return ans; } int updateY(int pos, int val) { y[pos] = val; vector<ll> xx, yy; xx.push_back(x[0]); yy.push_back(y[0]); for (int i=1; i<n; i++) { if (x[i] == 1) { yy.back() = max(yy.back(), y[i]); } else { xx.push_back(x[i]); yy.push_back(y[i]); } } ll ans=0; ll am=1; for (int i=0; i<(int)xx.size(); i++) { am *= xx[i]; am %= MOD; ans = max(ans, am*yy[i]); ans %= MOD; } return ans; }

Compilation message (stderr)

horses.cpp: In function 'int init(int, int*, int*)':
horses.cpp:23:40: error: no matching function for call to 'max(__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type&, int&)'
   23 |                         yy.back() = max(yy.back(), y[i]);
      |                                     ~~~^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/13/algorithm:60,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:51,
                 from horses.cpp:1:
/usr/include/c++/13/bits/stl_algobase.h:257:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
  257 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/13/bits/stl_algobase.h:257:5: note:   template argument deduction/substitution failed:
horses.cpp:23:40: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   23 |                         yy.back() = max(yy.back(), y[i]);
      |                                     ~~~^~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_algobase.h:303:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
  303 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/13/bits/stl_algobase.h:303:5: note:   template argument deduction/substitution failed:
horses.cpp:23:40: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   23 |                         yy.back() = max(yy.back(), y[i]);
      |                                     ~~~^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/13/algorithm:61:
/usr/include/c++/13/bits/stl_algo.h:5795:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(initializer_list<_Tp>)'
 5795 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/13/bits/stl_algo.h:5795:5: note:   template argument deduction/substitution failed:
horses.cpp:23:40: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   23 |                         yy.back() = max(yy.back(), y[i]);
      |                                     ~~~^~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_algo.h:5805:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(initializer_list<_Tp>, _Compare)'
 5805 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/13/bits/stl_algo.h:5805:5: note:   template argument deduction/substitution failed:
horses.cpp:23:40: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   23 |                         yy.back() = max(yy.back(), y[i]);
      |                                     ~~~^~~~~~~~~~~~~~~~~
horses.cpp: In function 'int updateX(int, int)':
horses.cpp:48:40: error: no matching function for call to 'max(__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type&, int&)'
   48 |                         yy.back() = max(yy.back(), y[i]);
      |                                     ~~~^~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_algobase.h:257:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
  257 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/13/bits/stl_algobase.h:257:5: note:   template argument deduction/substitution failed:
horses.cpp:48:40: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   48 |                         yy.back() = max(yy.back(), y[i]);
      |                                     ~~~^~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_algobase.h:303:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
  303 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/13/bits/stl_algobase.h:303:5: note:   template argument deduction/substitution failed:
horses.cpp:48:40: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   48 |                         yy.back() = max(yy.back(), y[i]);
      |                                     ~~~^~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_algo.h:5795:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(initializer_list<_Tp>)'
 5795 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/13/bits/stl_algo.h:5795:5: note:   template argument deduction/substitution failed:
horses.cpp:48:40: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   48 |                         yy.back() = max(yy.back(), y[i]);
      |                                     ~~~^~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_algo.h:5805:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(initializer_list<_Tp>, _Compare)'
 5805 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/13/bits/stl_algo.h:5805:5: note:   template argument deduction/substitution failed:
horses.cpp:48:40: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   48 |                         yy.back() = max(yy.back(), y[i]);
      |                                     ~~~^~~~~~~~~~~~~~~~~
horses.cpp: In function 'int updateY(int, int)':
horses.cpp:73:40: error: no matching function for call to 'max(__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type&, int&)'
   73 |                         yy.back() = max(yy.back(), y[i]);
      |                                     ~~~^~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_algobase.h:257:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
  257 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/13/bits/stl_algobase.h:257:5: note:   template argument deduction/substitution failed:
horses.cpp:73:40: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   73 |                         yy.back() = max(yy.back(), y[i]);
      |                                     ~~~^~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_algobase.h:303:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
  303 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/13/bits/stl_algobase.h:303:5: note:   template argument deduction/substitution failed:
horses.cpp:73:40: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   73 |                         yy.back() = max(yy.back(), y[i]);
      |                                     ~~~^~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_algo.h:5795:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(initializer_list<_Tp>)'
 5795 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/13/bits/stl_algo.h:5795:5: note:   template argument deduction/substitution failed:
horses.cpp:73:40: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   73 |                         yy.back() = max(yy.back(), y[i]);
      |                                     ~~~^~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_algo.h:5805:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(initializer_list<_Tp>, _Compare)'
 5805 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/13/bits/stl_algo.h:5805:5: note:   template argument deduction/substitution failed:
horses.cpp:73:40: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   73 |                         yy.back() = max(yy.back(), y[i]);
      |                                     ~~~^~~~~~~~~~~~~~~~~