Submission #1215249

#TimeUsernameProblemLanguageResultExecution timeMemory
1215249AriadnaSalesman (IOI09_salesman)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #define int long long using namespace std; int n, u, d, s; struct data { int t, l, m; }; bool comp(data A, data B) { return A.t < B.t; } int price(int a, int b) { return max((b-a)*d, (b-a)*u); } signed main() { cin >> n >> u >> d >> s; u*=-1; vector<data> fairs(n); for (int i = 0; i < n; ++i) cin >> fairs[i].t >> fairs[i].l >> fairs[i].m; sort(fairs.begin(), fairs.end(), comp); vector<int> dp(n); for (int i = n-1; i >= 0; --i) { dp[i] += fairs[i].m; int aux = -price(fairs[i].l, s); for (int j = n-1; j > i; --j) { aux = max(aux, dp[j]-price(fairs[i].l, fairs[j].l)); } dp[i] += aux; } int ans = 0; for (int i = 0; i < n; ++i) ans = max(ans, dp[i]-price(s, fairs[i].l)); cout << ans << endl; return 0; }

Compilation message (stderr)

salesman.cpp:10:11: error: reference to 'data' is ambiguous
   10 | bool comp(data A, data B) {
      |           ^~~~
In file included from /usr/include/c++/11/string:54,
                 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 salesman.cpp:1:
/usr/include/c++/11/bits/range_access.h:319:5: note: candidates are: 'template<class _Tp> constexpr const _Tp* std::data(std::initializer_list<_Tp>)'
  319 |     data(initializer_list<_Tp> __il) noexcept
      |     ^~~~
/usr/include/c++/11/bits/range_access.h:310:5: note:                 'template<class _Tp, long unsigned int _Nm> constexpr _Tp* std::data(_Tp (&)[_Nm])'
  310 |     data(_Tp (&__array)[_Nm]) noexcept
      |     ^~~~
/usr/include/c++/11/bits/range_access.h:300:5: note:                 'template<class _Container> constexpr decltype (__cont.data()) std::data(const _Container&)'
  300 |     data(const _Container& __cont) noexcept(noexcept(__cont.data()))
      |     ^~~~
/usr/include/c++/11/bits/range_access.h:290:5: note:                 'template<class _Container> constexpr decltype (__cont.data()) std::data(_Container&)'
  290 |     data(_Container& __cont) noexcept(noexcept(__cont.data()))
      |     ^~~~
salesman.cpp:7:8: note:                 'struct data'
    7 | struct data {
      |        ^~~~
salesman.cpp:10:19: error: reference to 'data' is ambiguous
   10 | bool comp(data A, data B) {
      |                   ^~~~
In file included from /usr/include/c++/11/string:54,
                 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 salesman.cpp:1:
/usr/include/c++/11/bits/range_access.h:319:5: note: candidates are: 'template<class _Tp> constexpr const _Tp* std::data(std::initializer_list<_Tp>)'
  319 |     data(initializer_list<_Tp> __il) noexcept
      |     ^~~~
/usr/include/c++/11/bits/range_access.h:310:5: note:                 'template<class _Tp, long unsigned int _Nm> constexpr _Tp* std::data(_Tp (&)[_Nm])'
  310 |     data(_Tp (&__array)[_Nm]) noexcept
      |     ^~~~
/usr/include/c++/11/bits/range_access.h:300:5: note:                 'template<class _Container> constexpr decltype (__cont.data()) std::data(const _Container&)'
  300 |     data(const _Container& __cont) noexcept(noexcept(__cont.data()))
      |     ^~~~
/usr/include/c++/11/bits/range_access.h:290:5: note:                 'template<class _Container> constexpr decltype (__cont.data()) std::data(_Container&)'
  290 |     data(_Container& __cont) noexcept(noexcept(__cont.data()))
      |     ^~~~
salesman.cpp:7:8: note:                 'struct data'
    7 | struct data {
      |        ^~~~
salesman.cpp:10:25: error: expression list treated as compound expression in initializer [-fpermissive]
   10 | bool comp(data A, data B) {
      |                         ^
salesman.cpp: In function 'int main()':
salesman.cpp:22:16: error: template argument 1 is invalid
   22 |     vector<data> fairs(n);
      |                ^
salesman.cpp:22:16: error: template argument 2 is invalid
salesman.cpp:23:45: error: invalid types 'int[long long int]' for array subscript
   23 |     for (int i = 0; i < n; ++i) cin >> fairs[i].t >> fairs[i].l >> fairs[i].m;
      |                                             ^
salesman.cpp:23:59: error: invalid types 'int[long long int]' for array subscript
   23 |     for (int i = 0; i < n; ++i) cin >> fairs[i].t >> fairs[i].l >> fairs[i].m;
      |                                                           ^
salesman.cpp:23:73: error: invalid types 'int[long long int]' for array subscript
   23 |     for (int i = 0; i < n; ++i) cin >> fairs[i].t >> fairs[i].l >> fairs[i].m;
      |                                                                         ^
salesman.cpp:24:16: error: request for member 'begin' in 'fairs', which is of non-class type 'int'
   24 |     sort(fairs.begin(), fairs.end(), comp);
      |                ^~~~~
salesman.cpp:24:31: error: request for member 'end' in 'fairs', which is of non-class type 'int'
   24 |     sort(fairs.begin(), fairs.end(), comp);
      |                               ^~~
salesman.cpp:29:23: error: invalid types 'int[long long int]' for array subscript
   29 |         dp[i] += fairs[i].m;
      |                       ^
salesman.cpp:30:31: error: invalid types 'int[long long int]' for array subscript
   30 |         int aux = -price(fairs[i].l, s);
      |                               ^
salesman.cpp:32:45: error: invalid types 'int[long long int]' for array subscript
   32 |             aux = max(aux, dp[j]-price(fairs[i].l, fairs[j].l));
      |                                             ^
salesman.cpp:32:57: error: invalid types 'int[long long int]' for array subscript
   32 |             aux = max(aux, dp[j]-price(fairs[i].l, fairs[j].l));
      |                                                         ^
salesman.cpp:38:68: error: invalid types 'int[long long int]' for array subscript
   38 |     for (int i = 0; i < n; ++i) ans = max(ans, dp[i]-price(s, fairs[i].l));
      |                                                                    ^