답안 #370704

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
370704 2021-02-24T13:45:43 Z TosakaUCW Poklon (COCI17_poklon7) C++17
96 / 120
1000 ms 134196 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 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 17 ms 1132 KB Output is correct
12 Correct 21 ms 876 KB Output is correct
13 Correct 67 ms 4360 KB Output is correct
14 Correct 133 ms 8684 KB Output is correct
15 Correct 127 ms 1136 KB Output is correct
16 Correct 478 ms 21440 KB Output is correct
17 Execution timed out 1076 ms 44688 KB Time limit exceeded
18 Execution timed out 1080 ms 50796 KB Time limit exceeded
19 Execution timed out 1093 ms 34524 KB Time limit exceeded
20 Execution timed out 1104 ms 134196 KB Time limit exceeded