Submission #305412

#TimeUsernameProblemLanguageResultExecution timeMemory
305412daniel920712Stations (IOI20_stations)C++14
52.32 / 100
976 ms1172 KiB
#include "stations.h" #include <vector> #include <math.h> #include <iostream> #include <stdio.h> using namespace std; vector < int > Next[1005]; vector < int > how; int con[1005]={0}; int ans[1005]={0}; int sz[1005]={0}; bool use[1005]={0}; int st; void F(int here) { //printf("%d %d\n",here,con); int now=0; use[here]=1; sz[here]=1; how.push_back(here); for(auto i:Next[here]) { if(!use[i]) { F(i); sz[here]+=sz[i]; } } } vector<int> label(int n, int k, vector<int> u, vector<int> v) { vector<int> labels; how.clear(); int i; for(i=0;i<n;i++) { labels.push_back(0); Next[i].clear(); con[i]=0; use[i]=0; } for(int i=0;i<n-1;i++) { Next[u[i]].push_back(v[i]); Next[v[i]].push_back(u[i]); } F(0); for(i=0;i<n;i++) labels[how[i]]=1000*i+(sz[how[i]]-1); //for(i=0;i<n;i++) printf("%d ",labels[i]); //printf("\n"); return labels; } int find_next_station(int s, int t, vector<int> c) { int x,n=c.size(),i; //printf("%d %d %d\n",s,t,n); if(n==1) return c[0]; if(t/1000>=s/1000+1&&t/1000<=s/1000+s%1000) { for(i=0;i<n;i++) { //printf("%d %d\n",s,c[i]); if(c[i]/1000>s/1000) { if(t/1000>=c[i]/1000&&t/1000<=c[i]/1000+c[i]%1000) return c[i]; } } //return c[0]; } else return c[0]; }

Compilation message (stderr)

stations.cpp: In function 'void F(int)':
stations.cpp:17:9: warning: unused variable 'now' [-Wunused-variable]
   17 |     int now=0;
      |         ^~~
stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:57:9: warning: unused variable 'x' [-Wunused-variable]
   57 |     int x,n=c.size(),i;
      |         ^
stations.cpp:74:1: warning: control reaches end of non-void function [-Wreturn-type]
   74 | }
      | ^
#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...