Submission #1311910

#TimeUsernameProblemLanguageResultExecution timeMemory
1311910eri16트리 (IOI24_tree)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
#include "tree.h"
using namespace std;

using ll = long long;

vector <ll> adj[200005];
vector <ll> weight;

ll sm=0;

ll dfs(ll l, ll r, ll node){
    
    ll cursum=0;
    ll amount=0;
    
    for (auto x : node){
        cursum+=dfs(l,r,x);
    }
    
    if (cursum<l){
        amount=l-cursum;
        sm+=weight[node]*amount;
        return l;
    }
    if (cursum>r){
        amount=cursum-r;
        sm+=weight[node]*amount*-1;
        return r;
    }
    
    return cursum;
}

void init(vector<int> P, vector<int> W){
    
    for (int i=0; i<W.size(); i++){
        weight.push_back(W[i]);
    }
    
    for (int i=1; i<P.size(); i++){
        adj[P[i]].push_back(i);
    }
}

ll query(int L, int R){
    sm=0;
    dfs(L,R,0);
    return sm;
}

Compilation message (stderr)

tree.cpp: In function 'll dfs(ll, ll, ll)':
tree.cpp:17:19: error: 'begin' was not declared in this scope
   17 |     for (auto x : node){
      |                   ^~~~
tree.cpp:17:19: note: suggested alternatives:
In file included from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:166,
                 from tree.cpp:1:
/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_algobase.h:38,
                 from /usr/include/c++/13/bits/ranges_algo.h:38,
                 from /usr/include/c++/13/algorithm:63,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:51:
/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/algorithm:60:
/usr/include/c++/13/bits/iterator_concepts.h:984:10: note:   'std::ranges::__cust_access::begin'
  984 |     void begin(const auto&) = delete;
      |          ^~~~~
tree.cpp:17:19: error: 'end' was not declared in this scope
   17 |     for (auto x : node){
      |                   ^~~~
tree.cpp:17: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;
      |          ^~~