제출 #396162

#제출 시각아이디문제언어결과실행 시간메모리
396162snasibov05기지국 (IOI20_stations)C++14
0 / 100
1101 ms528 KiB
#include "stations.h"
#include <vector>

#define pb push_back

using namespace std;



vector<int> label(int n, int k, vector<int> u, vector<int> v) {
	vector<int> labels(n);

    for (int i = 0; i < n; ++i) {
        labels[i] = i;
    }

	return labels;
}

int find_next_station(int s, int t, vector<int> c) {

    int level_s = 0, level_t = 0;

    int x = s;
    while (x > 0) level_s++, x/=2;

    if (s == (1 << (level_s + 1)) - 1) level_s++;

    x = t;
    while (x > 0) level_t++, x/=2;

    if (t == (1 << (level_t + 1)) - 1) level_t++;
    
    int a = s;
    int b = t;

    while (level_s > level_t) a = (a-1) / 2, level_s--;
    
    if (a == b){
        while ((s-1)/2 != t) s = (s-1) / 2;
        return s;
    }
    else return (t-1)/2;

}
#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...