Submission #354369

#TimeUsernameProblemLanguageResultExecution timeMemory
354369dooweyStations (IOI20_stations)C++14
0 / 100
989 ms1156 KiB
#include <bits/stdc++.h> #include "stations.h" using namespace std; typedef long long ll; typedef pair<int, int> pii; #define fi first #define se second #define mp make_pair const int N = 1005; vector<int> T[N]; vector<int> sol; int ti; void dfs(int u, int pp, int bit){ if(bit == 0){ sol[u]=ti; ti++; } for(auto x : T[u]){ if(x==pp) continue; dfs(x,u,(bit^1)); } if(bit == 1){ sol[u]=ti; ti++; } } vector<int> label(int n, int k, vector<int> u, vector<int> v) { sol.clear(); sol.resize(n); for(int i = 0 ; i < n; i ++ ){ T[i].clear(); } for(int i = 0 ; i < u.size(); i ++ ){ T[u[i]].push_back(v[i]); T[v[i]].push_back(u[i]); } dfs(0,-1,0); return sol; } int find_next_station(int s, int t, vector<int> c) { bool is = true; for(auto x : c){ if(s > x) is = false; } if(is){ // s is tout sort(c.begin(), c.end()); if(t <= c[0] || t >= s){ return c[0]; } c.push_back(s); for(int i = 0 ; i + 1 < c.size(); i ++ ){ if(t >= c[i] && t <= c[i + 1]){ return i; } } } else{ if(t <= s || t >= c.back()) return c.back(); if(t >= s && c[0] >= t) return c[0]; for(int i = 1; i < c.size()-1; i ++ ){ if(c[i-1] < t && t < c[i]){ return c[i]; } } } }

Compilation message (stderr)

stations.cpp: In function 'std::vector<int> label(int, int, std::vector<int>, std::vector<int>)':
stations.cpp:40:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   40 |  for(int i = 0 ; i < u.size(); i ++ ){
      |                  ~~^~~~~~~~~~
stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:59:31: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   59 |         for(int i = 0 ; i + 1 < c.size(); i ++ ){
      |                         ~~~~~~^~~~~~~~~~
stations.cpp:68:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   68 |         for(int i = 1; i < c.size()-1; 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...