Submission #1052363

#TimeUsernameProblemLanguageResultExecution timeMemory
1052363noyancanturkStations (IOI20_stations)C++17
0 / 100
1503 ms2097152 KiB
#include "stations.h" #include<bits/stdc++.h> using namespace std; #define pb push_back const int lim=2000; vector<int>v[lim]; int sz[lim]; int sbs(int node,int par){ sz[node]=1; for(int j:v[node]){ if(j==par)continue; sz[node]+=sbs(j,node); } return sz[node]; } vector<int>labels; void dfs(int node,int par,int l,int r,bool tag){ //cerr<<node<<" "<<par<<" "<<l<<" "<<r<<"\n"; labels[node]=tag?l:r; int past=tag; for(int j:v[node]){ if(j==par)continue; dfs(j,node,l+past,l+past+sz[j]-1,!tag); past+=sz[j]; } } std::vector<int> label(int n, int k, std::vector<int> U, std::vector<int> V) { for(int i=0;i<n-1;i++){ v[U[i]].pb(V[i]); v[V[i]].pb(U[i]); } labels=vector<int>(n); sbs(0,-1); dfs(0,-1,0,n-1,1); /* for(int i=0;i<n;i++)cerr<<labels[i]<<" "; cerr<<"\n"; */ return labels; } int find_next_station(int s, int t, std::vector<int> c) { return -1; if(s<c[0]){ for(int i=0;i+1<c.size();i++){ if(s<=t&&t<=c[i]){ return c[i]; } } return c[c.size()-1]; }else{ for(int i=int(c.size())-1;i;i--){ if(c[i]<=t&&t<=s){ return c[i]; } } return c[0]; } }

Compilation message (stderr)

stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:54:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   54 |   for(int i=0;i+1<c.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...
#Verdict Execution timeMemoryGrader output
Fetching results...