Submission #791677

#TimeUsernameProblemLanguageResultExecution timeMemory
791677KhizriStations (IOI20_stations)C++17
0 / 100
639 ms688 KiB
#include "stations.h" #include <vector> #include <bits/stdc++.h> using namespace std; #define ll long long #define pb push_back #define F first #define S second #define INF 1e18 #define all(v) (v).begin(),(v).end() #define rall(v) (v).rbegin(),(v).rend() #define pii pair<int,int> #define pll pair<ll,ll> #define OK cout<<"Ok"<<endl; #define MOD (ll)(1e9+7) const int mxn=1010; int n,tin[mxn],tout[mxn],tmr,color[mxn]; vector<int>vt[mxn]; void dfs(int u,int p,int dep){ tin[u]=tmr++; for(int v:vt[u]){ if(v!=p){ dfs(v,u,dep+1); } } tout[u]=tmr++; if(dep%2==0){ color[u]=tin[u]/2; } else{ color[u]=tout[u]/2; } } vector<int> label(int N, int k, vector<int> u, vector<int> v) { n=N; for(int i=1;i<=n;i++){ vt[i].clear(); color[i]=0; tin[i]=0; tout[i]=0; } tmr=0; for(int i=0;i<u.size();i++){ vt[u[i]+1].pb(v[i]+1); vt[v[i]+1].pb(u[i]+1); } dfs(1,-1,0); vector<int> labels(n); for (int i = 0; i < n; i++) { labels[i] = color[i+1]; } return labels; } int find_next_station(int s, int t, std::vector<int> c) { if(c[0]>s){ if(t>c.back()) return c.back(); auto it=upper_bound(all(c),t); it--; return *it; } else{ if(t>c.back()) return c[0]; auto it=lower_bound(all(c),t); return *it; } }

Compilation message (stderr)

stations.cpp: In function 'std::vector<int> label(int, int, std::vector<int>, std::vector<int>)':
stations.cpp:43:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   43 |     for(int i=0;i<u.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...