답안 #370683

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
370683 2021-02-24T13:26:25 Z TosakaUCW Poklon (COCI17_poklon7) C++17
96 / 120
1000 ms 166164 KB
#include <stdio.h>
#include <algorithm>
#include <vector>
#include <iostream>

const int N = 1e6 + 5;

int n;
int L[N], R[N];

void convert(std::vector<char> &res, int x)
{
    for (; x; x /= 2)
        res.push_back(x % 2 ? '1' : '0');
    std::reverse(res.begin(), res.end());
}

std::vector<char> dfs(int v)
{
    std::vector<char> a, b;
	if (L[v] < 0)
		a = dfs(-L[v]);
	else
		convert(a, L[v]);
	if (R[v] < 0)
		b = dfs(-R[v]);
	else
		convert(b, R[v]);
    if (a.size() < b.size())
        swap(a, b);
    if (a.size() != b.size())
        return a.push_back('0'), a;
    for (int i = 0, k = a.size(); i < k; i++)
        if (a[i] != b[i])
        {
            if (b[i] == '1')
                std::swap(a, b);
            break;
        }
    return a.push_back('0'), a;
}

int main()
{
	std::ios_base::sync_with_stdio(0); 
	std::istream::sync_with_stdio(0); 
	std::cin.tie(0); std::cout.tie(0);
    std::cin >> n;
    for (int i = 1; i <= n; i++)
    {
		std::cin >> L[i] >> R[i];
		L[i] = -L[i], R[i] = -R[i];
	}
    std::vector<char> ans = dfs(1);
    for (auto x : ans)
        std::cout << x;
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 1 ms 364 KB Output is correct
5 Correct 1 ms 512 KB Output is correct
6 Correct 1 ms 364 KB Output is correct
7 Correct 1 ms 364 KB Output is correct
8 Correct 1 ms 364 KB Output is correct
9 Correct 1 ms 364 KB Output is correct
10 Correct 2 ms 364 KB Output is correct
11 Correct 9 ms 1516 KB Output is correct
12 Correct 10 ms 1132 KB Output is correct
13 Correct 66 ms 5228 KB Output is correct
14 Correct 191 ms 10220 KB Output is correct
15 Correct 69 ms 1260 KB Output is correct
16 Correct 901 ms 25196 KB Output is correct
17 Execution timed out 1086 ms 51820 KB Time limit exceeded
18 Execution timed out 1092 ms 59500 KB Time limit exceeded
19 Execution timed out 1091 ms 39576 KB Time limit exceeded
20 Execution timed out 1100 ms 166164 KB Time limit exceeded