Submission #704113

#TimeUsernameProblemLanguageResultExecution timeMemory
7041131075508020060209tcUnique Cities (JOI19_ho_t5)C++14
4 / 100
2055 ms39020 KiB
//#pragma GCC optimize("O3") #include<bits/stdc++.h> using namespace std; #define int long long #define X first #define Y second int n;int m; int ar[500005]; vector<int>e[500005]; vector<int>freq[500005]; int dph[500005]; void dfs(int nw,int pa){ dph[nw]=dph[pa]+1; freq[dph[nw]].push_back(nw); for(int i=0;i<e[nw].size();i++){ int v=e[nw][i]; if(v==pa){continue;} dfs(v,nw); } } void solve(int rt){ dfs(rt,0); set<int>st; for(int i=2;i<=n;i++){ if(freq[i].size()==1){ st.insert(ar[freq[i][0]]); } freq[i].clear(); } cout<<st.size()<<endl; } signed main(){ cin>>n>>m; for(int i=1;i<=n-1;i++){ int a;int b; cin>>a>>b; e[a].push_back(b); e[b].push_back(a); } for(int i=1;i<=n;i++){ cin>>ar[i]; } for(int i=1;i<=n;i++){ solve(i); } }

Compilation message (stderr)

joi2019_ho_t5.cpp: In function 'void dfs(long long int, long long int)':
joi2019_ho_t5.cpp:16:14: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   16 | for(int i=0;i<e[nw].size();i++){
      |             ~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...