제출 #1368398

#제출 시각아이디문제언어결과실행 시간메모리
1368398iancunhaCloud Computing (CEOI18_clo)C++20
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h>
#define int int64_t
#define f first
#define s second
#define opt1 ios_base::sync_with_stdio(false)
#define opt2 cin.tie(NULL)
#define optimize opt1; opt2
#define pb push_back
#define endl "\n"
#define sz(v) (int)v.size()
using namespace std;
typedef pair<int, int> ii;
typedef pair<int, ii> i3;
typedef pair<ii, ii> i4;
typedef pair<int, i4> i5;
typedef vector<int> vi;
typedef vector<ii> vii;
typedef vector<i3> vi3;
typedef vector<i4> vi4;
const int inf = 0x6f6f6f6f6f6f;
const int MAX = 200005;
const int LOG = 21;
const int mod = 1e9+7;

int dp[MAX], dp2[MAX];

int32_t main () {
    optimize;
    int n;
    cin >> n;
    vi4 V;
    for (int i = 1; i <= n; i++) {
        int c, r, v;
        cin >> c >> r >> v;
        V.pb({{r, 1}, {c, v}});
    }
    int m;
    cin >> m;
    for (int i = 1; i <= m; i++) {
        int c, r, v;
        cin >> c >> r >> v;
        V.pb({{r, 0}, {c, v}});
    }
    sort(V.begin(), V.end());
    for (int i = 1; i < MAX; i++)
        dp[i] = dp2[i] = -inf;
    dp[0] = 0;
    dp2[0] = -inf;
    for (int i = 1; i <= sz(V); i++) {
        int C = V[i-1].s.f, v = V[i-1].s.s, 
            T = V[i-1].f.s;
        for (int j = 0; j <= 50*(i-1); j++) {
            if (T == 0) {
                dp2[j+C] = max(dp2[j+C], dp[j]+v);
                dp2[j] = max(dp2[j], dp[j]);
            } else {
                dp2[max(0LL, j-C)] = 
                    max(dp2[max(0LL, j-C)], dp[j]-v);
                dp2[j] = max(dp2[j], dp[j]);
            }
        } 
        for (int j = 0; j <= 50*i; j++) {
            dp[j] = dp2[j];
            dp2[j] = -inf;
        }
    }
    cout << dp[0] << endl;
    return 0;
}
/*

order by Fj

dp(i, j) = caras i, cores clientes j
if (i+1 == cliente) {
    dp(i+1, j) <= dp(i, j)
    dp(i+1, j+C) <= dp(i, j) - V
} else {
    dp(i+1, j) <= dp(i, j)
    dp(i+1, max(0, j-C)) <= dp(i, j) + V
}


*/

컴파일 시 표준 에러 (stderr) 메시지

clo.cpp: In function 'int32_t main()':
clo.cpp:57:24: error: no matching function for call to 'max(long long int, int64_t)'
   57 |                 dp2[max(0LL, j-C)] =
      |                     ~~~^~~~~~~~~~
In file included from /usr/include/c++/13/algorithm:60,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:51,
                 from clo.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:
clo.cpp:57:24: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int64_t' {aka 'long int'})
   57 |                 dp2[max(0LL, j-C)] =
      |                     ~~~^~~~~~~~~~
/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:
clo.cpp:57:24: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int64_t' {aka 'long int'})
   57 |                 dp2[max(0LL, j-C)] =
      |                     ~~~^~~~~~~~~~
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:
clo.cpp:57:24: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   57 |                 dp2[max(0LL, j-C)] =
      |                     ~~~^~~~~~~~~~
/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:
clo.cpp:57:24: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   57 |                 dp2[max(0LL, j-C)] =
      |                     ~~~^~~~~~~~~~
clo.cpp:58:32: error: no matching function for call to 'max(long long int, int64_t)'
   58 |                     max(dp2[max(0LL, j-C)], dp[j]-v);
      |                             ~~~^~~~~~~~~~
/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:
clo.cpp:58:32: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int64_t' {aka 'long int'})
   58 |                     max(dp2[max(0LL, j-C)], dp[j]-v);
      |                             ~~~^~~~~~~~~~
/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:
clo.cpp:58:32: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int64_t' {aka 'long int'})
   58 |                     max(dp2[max(0LL, j-C)], dp[j]-v);
      |                             ~~~^~~~~~~~~~
/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:
clo.cpp:58:32: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   58 |                     max(dp2[max(0LL, j-C)], dp[j]-v);
      |                             ~~~^~~~~~~~~~
/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:
clo.cpp:58:32: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   58 |                     max(dp2[max(0LL, j-C)], dp[j]-v);
      |                             ~~~^~~~~~~~~~