Submission #73887

# Submission time Handle Problem Language Result Execution time Memory
73887 2018-08-29T08:22:22 Z funcsr Friend (IOI14_friend) C++17
Compilation error
0 ms 0 KB
#include "friend.h"
#include <iostream>
#include <vector>
#include <cassert>
#include <tuple>
#include <queue>
#define rep(i, n) for (int i=0; i<(n); i++)
#define pb push_back
using namespace std;

int dp0[100000], dp1[100000];

int findSample(int N, int A[], int host[], int protocol[]) {
  rep(i, N) dp0[i] = 0, dp1[i] = A[i];
  for (int x=N-1; x>0; x--) {
    int p = host[x];
    if (protocol[x] == 0) {
      dp0[p] += max(dp0[x], dp1[x]);
      dp1[p] += dp0[x];
    }
    else if (protocol[x] == 1) {
      dp0[p] += dp0[x];
      dp1[p] += max(dp0[x], dp1[x]);
    }
    else {
      dp0[p] += dp0[x];
      dp1[p] = max({dp0[x]+dp1[p], dp1[x]+dp0[p], dp0[x]+dp0[p]});
    }
  }
  return max(dp0[0], dp1[0]);
}

Compilation message

friend.cpp: In function 'int findSample(int, int*, int*, int*)':
friend.cpp:27:65: error: no matching function for call to 'max(<brace-enclosed initializer list>)'
       dp1[p] = max({dp0[x]+dp1[p], dp1[x]+dp0[p], dp0[x]+dp0[p]});
                                                                 ^
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/ostream:38,
                 from /usr/include/c++/7/iostream:39,
                 from friend.cpp:2:
/usr/include/c++/7/bits/stl_algobase.h:219:5: note: candidate: template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)
     max(const _Tp& __a, const _Tp& __b)
     ^~~
/usr/include/c++/7/bits/stl_algobase.h:219:5: note:   template argument deduction/substitution failed:
friend.cpp:27:65: note:   candidate expects 2 arguments, 1 provided
       dp1[p] = max({dp0[x]+dp1[p], dp1[x]+dp0[p], dp0[x]+dp0[p]});
                                                                 ^
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/ostream:38,
                 from /usr/include/c++/7/iostream:39,
                 from friend.cpp:2:
/usr/include/c++/7/bits/stl_algobase.h:265:5: note: candidate: template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)
     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
     ^~~
/usr/include/c++/7/bits/stl_algobase.h:265:5: note:   template argument deduction/substitution failed:
friend.cpp:27:65: note:   candidate expects 3 arguments, 1 provided
       dp1[p] = max({dp0[x]+dp1[p], dp1[x]+dp0[p], dp0[x]+dp0[p]});
                                                                 ^