Submission #322073

#TimeUsernameProblemLanguageResultExecution timeMemory
322073gurkotStations (IOI20_stations)C++14
100 / 100
1136 ms1136 KiB
#include "stations.h"
#include <vector>
#include <iostream> 
using namespace std;
 
int fix[1000],lab[1000],timer,lev;
vector <int> gr[1000];
 
void dfs(int u){ 
 
 fix[u]=1; lev++;
 if((lev&1)==0) lab[u]=timer++;    
 
    
 for(int i=0;i<(int)gr[u].size();i++)
  if(fix[gr[u][i]]==0) dfs(gr[u][i]);		
	
 if((lev&1)==1) lab[u]=timer++;
 lev--;	
}
 
vector<int> label(int n, int k, vector<int> u, vector<int> v) {
 vector <int> labels; labels.resize(n);
 
 for(int i=0;i<n;i++) {
  gr[i].clear();  lab[i]=fix[i]=0;
 }
	
 for (int i=0; i<(int)u.size(); i++) {
  gr[u[i]].push_back(v[i]);
  gr[v[i]].push_back(u[i]);
 }  

 timer=0; lev=-1;
 dfs(0);
 for(int i=0;i<n;i++)   labels[i]=lab[i]; 
 
 return labels;
}
 
int find_next_station(int s, int t, vector<int> c) {
 if(s<c[0]){
  c.insert(c.begin(),s);
  for(int i=1; i<(int)c.size()-1; i++)
	if(t<=c[i] && t>=c[i-1]+1) return c[i];			
  return c[c.size()-1];
 } else {
  c.push_back(s);
  for(int i=1; i<c.size()-1; i++)
   if(t>=c[i] && t<=c[i+1]-1) return c[i];		
  return c[0];
 }
}

Compilation message (stderr)

stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:49:17: 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()-1; 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...