Submission #1065938

#TimeUsernameProblemLanguageResultExecution timeMemory
1065938Ahmed57Stations (IOI20_stations)C++17
100 / 100
632 ms1056 KiB
#include "bits/stdc++.h" using namespace std; int dep[1001]; int timer = 0; vector<int> adj[1001]; int in[1001],out[1001]; void dfs(int i,int pr){ dep[i] = dep[pr]+1; if(dep[i]%2){ timer++; } in[i] = timer; for(auto j:adj[i]){ if(j==pr)continue; dfs(j,i); } if(dep[i]%2==0)timer++; out[i] = timer; } vector<int> label(int n, int k, vector<int> u, vector<int> v){ timer = 0; for(int i = 0;i<n;i++){ adj[i].clear(); } for(int i = 0;i<n-1;i++){ adj[u[i]].push_back(v[i]); adj[v[i]].push_back(u[i]); } dep[0] = 1; dfs(0,0); vector<int> lol; for(int i = 0;i<n;i++){ if(dep[i]%2==0){ lol.push_back(in[i]); //cout<<in[i]<<" "; }else{ lol.push_back(out[i]); //cout<<out[i]<<" "; } } return lol; } int find_next_station(int s, int t, vector<int> c){ sort(c.begin(),c.end()); if(c.size()==1)return c[0]; if(c[0]<s){ vector<int> na; for(int i = 1;i<c.size();i++)na.push_back(c[i]); na.push_back(s); if(t<c[1]||t>s)return c[0]; int lol = 0; for(int i = 0;i<na.size();i++){ if(t>=na[i]){ lol = na[i]; } } return lol; }else{ vector<int> na; na.push_back(s); for(int i = 0;i<c.size()-1;i++)na.push_back(c[i]); if(t>c[c.size()-2]||t<s)return c.back(); int lol = 0; for(int i = 0;i<na.size();i++){ if(t<=na[i]){ lol = na[i]; break; } } return lol; } }

Compilation message (stderr)

stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:49:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   49 |         for(int i = 1;i<c.size();i++)na.push_back(c[i]);
      |                       ~^~~~~~~~~
stations.cpp:53:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   53 |         for(int i = 0;i<na.size();i++){
      |                       ~^~~~~~~~~~
stations.cpp:62:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   62 |         for(int i = 0;i<c.size()-1;i++)na.push_back(c[i]);
      |                       ~^~~~~~~~~~~
stations.cpp:65:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   65 |         for(int i = 0;i<na.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...