Submission #429443

#TimeUsernameProblemLanguageResultExecution timeMemory
429443DanerZeinStations (IOI20_stations)C++14
0 / 100
1178 ms3100 KiB
#include "stations.h" #include <bits/stdc++.h> using namespace std; typedef vector<int> vi; vector<vi> G; vector<vi> li; void dfs(int u,int p){ for(auto &v:G[u]){ if(v!=p){ dfs(v,u); for(int i=0;i<li[v].size();i++){ li[u].push_back(li[v][i]); } } } li[u].push_back(u); } int construct(int id){ int s=0; int e=1; for(int i=li[id].size()-1;i>=0;i--){ s+=(li[id][i]*e); e*=10; } return s; } std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) { G.clear(); li.clear(); G.resize(n+1); li.resize(n+1); for(int i=0;i<n-1;i++){ G[u[i]].push_back(v[i]); G[v[i]].push_back(u[i]); } dfs(0,-1); vector<int> lab; for(int i=0;i<n;i++){ lab.push_back(construct(i)); //cout<<lab[i]<<" "; } //cout<<endl; return lab; } int find_next_station(int s, int t, std::vector<int> c) { int pa=-1; int hj=-1; for(auto &v:c){ if(v>s){ pa=v; continue; } int aux=v/10; vector<int> hijo; while(aux!=0){ hijo.push_back(aux%10); aux/=10; } reverse(hijo.begin(),hijo.end()); for(int i=0;i<hijo.size();i++){ int s=0; for(int j=i;j<hijo.size();j++){ s*=10; s+=hijo[j]; if(s==t){ hj=v; break; } } if(hj!=-1) break; } } if(hj==-1) return pa; return hj; }

Compilation message (stderr)

stations.cpp: In function 'void dfs(int, int)':
stations.cpp:11:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   11 |       for(int i=0;i<li[v].size();i++){
      |                   ~^~~~~~~~~~~~~
stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:60:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   60 |     for(int i=0;i<hijo.size();i++){
      |                 ~^~~~~~~~~~~~
stations.cpp:62:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   62 |       for(int j=i;j<hijo.size();j++){
      |                   ~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...