Submission #403069

#TimeUsernameProblemLanguageResultExecution timeMemory
403069Newtech66경주 (Race) (IOI11_race)C++17
Compilation error
0 ms0 KiB
#include "race.h" #include<bits/stdc++.h> #define MAXN 200005 using namespace std; vector<vector<pair<lol,lol> > > g(MAXN); vector<lol> subsz(MAXN); bitset<MAXN> del; lol ans=LLONG_MAX; void findsubsz(int u,int p=-1) { subsz[u]=1; for(auto ch:g[u]) { if(ch.first!=p && !del.test(ch.first)) { findsubsz(ch.first,u); subsz[u]+=subsz[ch.first]; } } } void solve(int u,map<lol,set<pair<lol,lol> > > &m,lol len,int dep,lol K,int z=-1,int p=-1) { for(auto ch:g[u]) { if(ch.first!=p && !del.test(ch.first)) { if(len+ch.second<=K) { if(p==-1) z=ch.first; m[len+ch.second].emplace(dep+1,z); solve(ch.first,m,len+ch.second,dep+1,K,z,u); } } } } int getcen(int u,lol sz,int p=-1) { for(auto ch:g[u]) { if(!del.test(ch.first) && ch.first!=p) { if(2*subsz[ch.first]>sz) { return getcen(ch.first,sz,u); } } } return u; } void cendcmp(int u,const int& K) { //cout<<u<<endl; findsubsz(u); int C=getcen(u,subsz[u]); //cout<<"Centroid found "<<C<<endl; map<lol,set<pair<lol,lol> > > m; solve(C,m,0,0,K); /*for(auto p:m) { cout<<p.first<<": "; for(auto e:p.second) { cout<<"("<<e.first<<","<<e.second<<") "; } cout<<endl; }*/ if(m.find(K)!=m.end()) ans=min(ans,m[K].begin()->first); for(auto p:m) { int len=p.first,nm=p.second.begin()->first,ch=p.second.begin()->second; //cout<<len<<" "<<nm<<" "<<ch<<endl; if(m.find(K-len)!=m.end()) { if(m[K-len].begin()->second!=ch) { //cout<<"x"<<K-len<<" "<<m[K-len].begin()->first<<" "<<m[K-len].begin()->second<<endl; ans=min(ans,nm+m[K-len].begin()->first); }else { if(m[K-len].size()>=2) { //cout<<"xx"<<K-len<<" "<<(++m[K-len].begin())->first<<" "<<(++m[K-len].begin())->second<<endl; ans=min(ans,nm+(++m[K-len].begin())->first); } } } } del.flip(C); for(auto ch:g[C]) { if(!del.test(ch.first)) { cendcmp(ch.first,K); } } } int best_path(int N, int K, int H[][2], int L[]) { for(int i=0;i<N-1;i++) { int u=H[i][0],v=H[i][1]; g[u].emplace_back(v,L[i]); g[v].emplace_back(u,L[i]); } cendcmp(0,K); if(ans==INT_MAX) return -1; else return ans; }

Compilation message (stderr)

race.cpp:5:20: error: 'lol' was not declared in this scope; did you mean 'logl'?
    5 | vector<vector<pair<lol,lol> > > g(MAXN);
      |                    ^~~
      |                    logl
race.cpp:5:24: error: 'lol' was not declared in this scope; did you mean 'logl'?
    5 | vector<vector<pair<lol,lol> > > g(MAXN);
      |                        ^~~
      |                        logl
race.cpp:5:27: error: template argument 1 is invalid
    5 | vector<vector<pair<lol,lol> > > g(MAXN);
      |                           ^
race.cpp:5:27: error: template argument 2 is invalid
race.cpp:5:29: error: template argument 1 is invalid
    5 | vector<vector<pair<lol,lol> > > g(MAXN);
      |                             ^
race.cpp:5:29: error: template argument 2 is invalid
race.cpp:5:31: error: template argument 1 is invalid
    5 | vector<vector<pair<lol,lol> > > g(MAXN);
      |                               ^
race.cpp:5:31: error: template argument 2 is invalid
race.cpp:6:8: error: 'lol' was not declared in this scope; did you mean 'logl'?
    6 | vector<lol> subsz(MAXN);
      |        ^~~
      |        logl
race.cpp:6:11: error: template argument 1 is invalid
    6 | vector<lol> subsz(MAXN);
      |           ^
race.cpp:6:11: error: template argument 2 is invalid
race.cpp:8:1: error: 'lol' does not name a type; did you mean 'logl'?
    8 | lol ans=LLONG_MAX;
      | ^~~
      | logl
race.cpp: In function 'void findsubsz(int, int)':
race.cpp:12:10: error: invalid types 'int[int]' for array subscript
   12 |     subsz[u]=1;
      |          ^
race.cpp:13:18: error: invalid types 'int[int]' for array subscript
   13 |     for(auto ch:g[u])
      |                  ^
race.cpp:18:18: error: invalid types 'int[int]' for array subscript
   18 |             subsz[u]+=subsz[ch.first];
      |                  ^
race.cpp: At global scope:
race.cpp:23:22: error: 'lol' was not declared in this scope; did you mean 'logl'?
   23 | void solve(int u,map<lol,set<pair<lol,lol> > > &m,lol len,int dep,lol K,int z=-1,int p=-1)
      |                      ^~~
      |                      logl
race.cpp:23:35: error: 'lol' was not declared in this scope; did you mean 'logl'?
   23 | void solve(int u,map<lol,set<pair<lol,lol> > > &m,lol len,int dep,lol K,int z=-1,int p=-1)
      |                                   ^~~
      |                                   logl
race.cpp:23:39: error: 'lol' was not declared in this scope; did you mean 'logl'?
   23 | void solve(int u,map<lol,set<pair<lol,lol> > > &m,lol len,int dep,lol K,int z=-1,int p=-1)
      |                                       ^~~
      |                                       logl
race.cpp:23:42: error: template argument 1 is invalid
   23 | void solve(int u,map<lol,set<pair<lol,lol> > > &m,lol len,int dep,lol K,int z=-1,int p=-1)
      |                                          ^
race.cpp:23:42: error: template argument 2 is invalid
race.cpp:23:44: error: template argument 1 is invalid
   23 | void solve(int u,map<lol,set<pair<lol,lol> > > &m,lol len,int dep,lol K,int z=-1,int p=-1)
      |                                            ^
race.cpp:23:44: error: template argument 2 is invalid
race.cpp:23:44: error: template argument 3 is invalid
race.cpp:23:46: error: template argument 1 is invalid
   23 | void solve(int u,map<lol,set<pair<lol,lol> > > &m,lol len,int dep,lol K,int z=-1,int p=-1)
      |                                              ^
race.cpp:23:46: error: template argument 2 is invalid
race.cpp:23:46: error: template argument 3 is invalid
race.cpp:23:46: error: template argument 4 is invalid
race.cpp:23:51: error: 'lol' has not been declared
   23 | void solve(int u,map<lol,set<pair<lol,lol> > > &m,lol len,int dep,lol K,int z=-1,int p=-1)
      |                                                   ^~~
race.cpp:23:67: error: 'lol' has not been declared
   23 | void solve(int u,map<lol,set<pair<lol,lol> > > &m,lol len,int dep,lol K,int z=-1,int p=-1)
      |                                                                   ^~~
race.cpp: In function 'void solve(int, int&, int, int, int, int, int)':
race.cpp:25:18: error: invalid types 'int[int]' for array subscript
   25 |     for(auto ch:g[u])
      |                  ^
race.cpp: At global scope:
race.cpp:39:18: error: 'lol' has not been declared
   39 | int getcen(int u,lol sz,int p=-1)
      |                  ^~~
race.cpp: In function 'int getcen(int, int, int)':
race.cpp:41:18: error: invalid types 'int[int]' for array subscript
   41 |     for(auto ch:g[u])
      |                  ^
race.cpp: In function 'void cendcmp(int, const int&)':
race.cpp:58:25: error: invalid types 'int[int]' for array subscript
   58 |     int C=getcen(u,subsz[u]);
      |                         ^
race.cpp:60:9: error: 'lol' was not declared in this scope; did you mean 'logl'?
   60 |     map<lol,set<pair<lol,lol> > > m;
      |         ^~~
      |         logl
race.cpp:60:31: error: template argument 1 is invalid
   60 |     map<lol,set<pair<lol,lol> > > m;
      |                               ^
race.cpp:60:31: error: template argument 2 is invalid
race.cpp:60:31: error: template argument 3 is invalid
race.cpp:60:33: error: template argument 1 is invalid
   60 |     map<lol,set<pair<lol,lol> > > m;
      |                                 ^
race.cpp:60:33: error: template argument 2 is invalid
race.cpp:60:33: error: template argument 3 is invalid
race.cpp:60:33: error: template argument 4 is invalid
race.cpp:71:10: error: request for member 'find' in 'm', which is of non-class type 'int'
   71 |     if(m.find(K)!=m.end())  ans=min(ans,m[K].begin()->first);
      |          ^~~~
race.cpp:71:21: error: request for member 'end' in 'm', which is of non-class type 'int'
   71 |     if(m.find(K)!=m.end())  ans=min(ans,m[K].begin()->first);
      |                     ^~~
race.cpp:71:29: error: 'ans' was not declared in this scope; did you mean 'abs'?
   71 |     if(m.find(K)!=m.end())  ans=min(ans,m[K].begin()->first);
      |                             ^~~
      |                             abs
race.cpp:71:42: error: invalid types 'int[const int]' for array subscript
   71 |     if(m.find(K)!=m.end())  ans=min(ans,m[K].begin()->first);
      |                                          ^
race.cpp:72:16: error: 'begin' was not declared in this scope
   72 |     for(auto p:m)
      |                ^
race.cpp:72:16: note: suggested alternatives:
In file included from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:95,
                 from race.cpp:2:
/usr/include/c++/10/valarray:1224:5: note:   'std::begin'
 1224 |     begin(const valarray<_Tp>& __va)
      |     ^~~~~
In file included from /usr/include/c++/10/filesystem:46,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:129,
                 from race.cpp:2:
/usr/include/c++/10/bits/fs_dir.h:549:3: note:   'std::filesystem::__cxx11::begin'
  549 |   begin(recursive_directory_iterator __iter) noexcept
      |   ^~~~~
race.cpp:72:16: error: 'end' was not declared in this scope
   72 |     for(auto p:m)
      |                ^
race.cpp:72:16: note: suggested alternatives:
In file included from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:95,
                 from race.cpp:2:
/usr/include/c++/10/valarray:1244:5: note:   'std::end'
 1244 |     end(const valarray<_Tp>& __va)
      |     ^~~
In file included from /usr/include/c++/10/filesystem:46,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:129,
                 from race.cpp:2:
/usr/include/c++/10/bits/fs_dir.h:554:3: note:   'std::filesystem::__cxx11::end'
  554 |   end(recursive_directory_iterator) noexcept
      |   ^~~
race.cpp:76:14: error: request for member 'find' in 'm', which is of non-class type 'int'
   76 |         if(m.find(K-len)!=m.end())
      |              ^~~~
race.cpp:76:29: error: request for member 'end' in 'm', which is of non-class type 'int'
   76 |         if(m.find(K-len)!=m.end())
      |                             ^~~
race.cpp:78:17: error: invalid types 'int[int]' for array subscript
   78 |             if(m[K-len].begin()->second!=ch)
      |                 ^
race.cpp:78:42: error: 'ch' was not declared in this scope
   78 |             if(m[K-len].begin()->second!=ch)
      |                                          ^~
race.cpp:81:17: error: 'ans' was not declared in this scope; did you mean 'abs'?
   81 |                 ans=min(ans,nm+m[K-len].begin()->first);
      |                 ^~~
      |                 abs
race.cpp:81:29: error: 'nm' was not declared in this scope; did you mean 'm'?
   81 |                 ans=min(ans,nm+m[K-len].begin()->first);
      |                             ^~
      |                             m
race.cpp:81:33: error: invalid types 'int[int]' for array subscript
   81 |                 ans=min(ans,nm+m[K-len].begin()->first);
      |                                 ^
race.cpp:84:21: error: invalid types 'int[int]' for array subscript
   84 |                 if(m[K-len].size()>=2)
      |                     ^
race.cpp:87:21: error: 'ans' was not declared in this scope; did you mean 'abs'?
   87 |                     ans=min(ans,nm+(++m[K-len].begin())->first);
      |                     ^~~
      |                     abs
race.cpp:87:33: error: 'nm' was not declared in this scope; did you mean 'm'?
   87 |                     ans=min(ans,nm+(++m[K-len].begin())->first);
      |                                 ^~
      |                                 m
race.cpp:87:40: error: invalid types 'int[int]' for array subscript
   87 |                     ans=min(ans,nm+(++m[K-len].begin())->first);
      |                                        ^
race.cpp:93:18: error: invalid types 'int[int]' for array subscript
   93 |     for(auto ch:g[C])
      |                  ^
race.cpp: In function 'int best_path(int, int, int (*)[2], int*)':
race.cpp:107:10: error: invalid types 'int[int]' for array subscript
  107 |         g[u].emplace_back(v,L[i]);
      |          ^
race.cpp:108:10: error: invalid types 'int[int]' for array subscript
  108 |         g[v].emplace_back(u,L[i]);
      |          ^
race.cpp:111:8: error: 'ans' was not declared in this scope; did you mean 'abs'?
  111 |     if(ans==INT_MAX)  return -1;
      |        ^~~
      |        abs