Submission #510376

#TimeUsernameProblemLanguageResultExecution timeMemory
510376jamezzz기지국 (IOI20_stations)C++17
52.32 / 100
1466 ms796 KiB
#include "stations.h"
#include <bits/stdc++.h>
using namespace std;

int pre[1005],pst[1005],cnt;
vector<int> AL[1005];

void dfs(int u){
	pre[u]=cnt++;
	for(int v:AL[u]){
		if(pre[v]==-1)dfs(v);
	}
	pst[u]=cnt-1;
}

vector<int> label(int n,int k,vector<int> u,vector<int> v){
	vector<int> l(n);
	for(int i=0;i<n;++i)AL[i].clear();
	memset(pre,-1,sizeof pre);
	memset(pst,-1,sizeof pst);
	cnt=0;
	for(int i=0;i<n-1;++i){
		AL[u[i]].push_back(v[i]);
		AL[v[i]].push_back(u[i]);
	}
	dfs(0);
	for(int i=0;i<n;++i)l[i]=pre[i]*1000+pst[i];
	return l;
}

int find_next_station(int s,int t,vector<int> c){
	int pres=s/1000,psts=s%1000;
	int pret=t/1000,pstt=t%1000;
	for(int i=1;i<c.size();++i){
		int u=c[i];
		int preu=u/1000,pstu=u%1000;
		if(preu<=pret&&pstt<=pstu)return u;
	}
	return c[0];
}

Compilation message (stderr)

stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:34:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   34 |  for(int i=1;i<c.size();++i){
      |              ~^~~~~~~~~
stations.cpp:32:6: warning: unused variable 'pres' [-Wunused-variable]
   32 |  int pres=s/1000,psts=s%1000;
      |      ^~~~
stations.cpp:32:18: warning: unused variable 'psts' [-Wunused-variable]
   32 |  int pres=s/1000,psts=s%1000;
      |                  ^~~~
#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...