| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1296010 | eri16 | Stations (IOI20_stations) | C++20 | 0 ms | 0 KiB |
#include "stations.h"
#include <bits/stdc++.h>
using namespace std;
vector<int> label(int n, int k, vector<int> u, vector<int> v) {
vector<int> lbl(n);
for (int i=0; i<n; i++){
lbl[i]=i;
}
return lbl;
}
int find_next_station(int s, int t, vector <int> c){
if (c.size()==1){return s[0];}
else if(s==0){
int lb=c[0];
int rb=c[0];
while (rb<=1000){
lb=lb*2+1;
rb=rb*2+2;
if (lb<=t && t<=rb){return s[0];}
}
return s[1];
}
else{
int lb=c[1];
int rb=c[1];
while (rb<=1000){
lb=lb*2+1;
rb=rb*2+2;
if (lb<=t && t<=rb){return s[1];}
}
if (c.size()==3){
lb=c[2];
rb=c[2];
while (rb<=1000){
lb=lb*2+1;
rb=rb*2+2;
if (lb<=t && t<=rb){return s[2];}
}
}
return s[0];
}
}
