답안 #370703

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
370703 2021-02-24T13:45:06 Z TosakaUCW Poklon (COCI17_poklon7) C++17
96 / 120
1000 ms 134056 KB
#include <bits/stdc++.h>

#define pb push_back
#define sz(x) int(x.size())

using namespace std;
 
#define N 1000010

int L[N], R[N];
 
void convert(vector<char> &res, int x)
{
	while (x > 0)
    {
        if (x % 2) res.pb('1');
        else res.pb('0');
        x /= 2;
    }
    reverse(res.begin(), res.end());
}
 
vector<char> dfs(int v)
{
    vector<char> a, b;
	if (L[v] < 0) a = dfs(abs(L[v])); else convert(a, L[v]);
    if (R[v] < 0) b = dfs(abs(R[v])); else convert(b, R[v]);
    if (sz(a) < sz(b))
        swap(a, b);
    if (sz(a) != sz(b))
		{ a.pb('0'); return a; }
    for (int i = 0; i < sz(a); i++)
    {
		if (a[i] == b[i])
			continue;
        if (b[i] == '1')
            swap(a, b);
        break;
    }
    a.pb('0'); return a;
}
 
int main()
{
	int n;
    cin >> n;
    for (int i = 1; i <= n; i++)
    {
		int l, r;
		cin >> l >> r;
        if (l < 0) L[i] = abs(l); else L[i] = -l;
        if (r < 0) R[i] = abs(r); else R[i] = -r;
	}
    vector<char> ans = dfs(1);
    for (auto x : ans)
        cout << x;
}
# 결과 실행 시간 메모리 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 364 KB Output is correct
6 Correct 1 ms 492 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 13 ms 1132 KB Output is correct
12 Correct 16 ms 876 KB Output is correct
13 Correct 67 ms 4360 KB Output is correct
14 Correct 133 ms 8812 KB Output is correct
15 Correct 147 ms 1132 KB Output is correct
16 Correct 460 ms 21612 KB Output is correct
17 Execution timed out 1093 ms 44652 KB Time limit exceeded
18 Execution timed out 1076 ms 50928 KB Time limit exceeded
19 Execution timed out 1096 ms 34484 KB Time limit exceeded
20 Execution timed out 1053 ms 134056 KB Time limit exceeded