제출 #1349642

#제출 시각아이디문제언어결과실행 시간메모리
1349642ahmetlbktd4Tree (IOI24_tree)C++20
컴파일 에러
0 ms0 KiB
#include "tree.h"
#include "bits/stdc++.h"
#define ll long long
using namespace std;

const int N = 2e5+5;

int n;
vector<int> p, w;
int k = 0; 
vector <int> g; 
int d[N];

void dfs(int v,int pr){
  d[v] = 1;
  for (int u : g[v]){
    if (u == pr)
    continue;
    dfs(u,v);
    d[v] += d[u];
  }
}

void init(std::vector<int> P, std::vector<int> W){
  p = P;
  w = W;
  n = (int)p.size();
  g.resize(n);
  for (int i = 1;i < n;i++){
    g[p[i]].push_back(i);
  }
  // dfs(0,-1);
  for (int i = 0;i < n;i++){
    if (g[i].empty())
    k++;
  }
}

ll query(int L, int R){
  ll p = (ll)k*L + (ll)max(0ll,(ll)k*L-R);
  return p;
}

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

tree.cpp: In function 'void dfs(int, int)':
tree.cpp:16:19: error: 'begin' was not declared in this scope
   16 |   for (int u : g[v]){
      |                   ^
tree.cpp:16:19: note: suggested alternatives:
In file included from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:166,
                 from tree.cpp:2:
/usr/include/c++/13/valarray:1238:5: note:   'std::begin'
 1238 |     begin(const valarray<_Tp>& __va) noexcept
      |     ^~~~~
In file included from /usr/include/c++/13/bits/ranges_util.h:34,
                 from /usr/include/c++/13/tuple:44,
                 from /usr/include/c++/13/bits/uses_allocator_args.h:38,
                 from /usr/include/c++/13/bits/memory_resource.h:41,
                 from /usr/include/c++/13/vector:80,
                 from tree.h:1,
                 from tree.cpp:1:
/usr/include/c++/13/bits/ranges_base.h:489:44: note:   'std::ranges::__cust::begin'
  489 |     inline constexpr __cust_access::_Begin begin{};
      |                                            ^~~~~
In file included from /usr/include/c++/13/filesystem:50,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:200:
/usr/include/c++/13/bits/fs_dir.h:607:3: note:   'std::filesystem::__cxx11::begin'
  607 |   begin(recursive_directory_iterator __iter) noexcept
      |   ^~~~~
In file included from /usr/include/c++/13/bits/stl_iterator_base_types.h:71,
                 from /usr/include/c++/13/bits/stl_algobase.h:65,
                 from /usr/include/c++/13/vector:62:
/usr/include/c++/13/bits/iterator_concepts.h:984:10: note:   'std::ranges::__cust_access::begin'
  984 |     void begin(const auto&) = delete;
      |          ^~~~~
tree.cpp:16:19: error: 'end' was not declared in this scope
   16 |   for (int u : g[v]){
      |                   ^
tree.cpp:16:19: note: suggested alternatives:
/usr/include/c++/13/valarray:1265:5: note:   'std::end'
 1265 |     end(const valarray<_Tp>& __va) noexcept
      |     ^~~
/usr/include/c++/13/bits/ranges_base.h:490:42: note:   'std::ranges::__cust::end'
  490 |     inline constexpr __cust_access::_End end{};
      |                                          ^~~
/usr/include/c++/13/bits/fs_dir.h:612:3: note:   'std::filesystem::__cxx11::end'
  612 |   end(recursive_directory_iterator) noexcept
      |   ^~~
/usr/include/c++/13/bits/ranges_base.h:137:10: note:   'std::ranges::__cust_access::end'
  137 |     void end(const auto&) = delete;
      |          ^~~
tree.cpp: In function 'void init(std::vector<int>, std::vector<int>)':
tree.cpp:30:13: error: request for member 'push_back' in 'g.std::vector<int>::operator[](((std::vector<int>::size_type)p.std::vector<int>::operator[](((std::vector<int>::size_type)i))))', which is of non-class type '__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type' {aka 'int'}
   30 |     g[p[i]].push_back(i);
      |             ^~~~~~~~~
tree.cpp:34:14: error: request for member 'empty' in 'g.std::vector<int>::operator[](((std::vector<int>::size_type)i))', which is of non-class type '__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type' {aka 'int'}
   34 |     if (g[i].empty())
      |              ^~~~~