제출 #396171

#제출 시각아이디문제언어결과실행 시간메모리
396171snasibov05기지국 (IOI20_stations)C++14
8 / 100
987 ms604 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) level_s++;

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

    if (t == (1 << level_t) - 1) level_t++;

    int a = s;
    int b = t;

    while (level_t > level_s) b = (b-1) / 2, level_t--;

    if (a == b){
        while ((t-1)/2 != s) t = (t-1) / 2;
        return t;
    }
    else return (s-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...