답안 #251849

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
251849 2020-07-22T11:22:08 Z kartel Poklon (COCI17_poklon7) C++14
0 / 120
246 ms 41132 KB
#include <bits/stdc++.h>
//#include <ext/pb_ds/assoc_container.hpp>
//#include <ext/pb_ds/tree_policy.hpp>
#define in(x) freopen(x, "r", stdin)
#define out(x) freopen(x, "w", stdout)
//#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
//#pragma GCC optimize("Ofast,nso-stack-protector,unroll-loops,fast-math,-O3")
//#define F first
//#define S second
#define pb push_back
#define N +500500
#define M ll(1e9 + 7)
#define sz(x) (int)x.size()
#define re return
#define oo ll(1e9)
#define el '\n'
#define Max_A int(1e9)
//#define el endl
#define pii pair <int, int>
#define err ld(1e-9)
#define Max_S int(3e6)
#define last(x) x.back()
#define all(x) (x).begin(), (x).end()
#define arr_all(x, n) (x + 1), (x + 1 + n)
using namespace std;
//using namespace __gnu_pbds;
//typedef tree <int, null_type, less_equal <int> , rb_tree_tag, tree_order_statistics_node_update> ordered_set;
typedef long long ll;
typedef long double ld;

struct str{
    ll le, ri, l, r;
};

str f[N];
ll i, n, ans;

ll rec(ll v)
{
    ll lF = f[v].l;
    ll rF = f[v].r;

    if (f[v].le != 0) lF = rec(f[v].le);
    if (f[v].ri != 0) rF = rec(f[v].ri);

    return 2 * max(lF, rF);
}

string bin(ll x)
{
    string ans = "";
    while (x)
    {
        if (x & 1)
            ans += "1";
        else ans += "0";
        //ans += char('0' + x & 1);
        x >>= 1;
    }
    reverse(all(ans));
    return ans;
}

int main()
{
    cout.precision(2);
    srand(time(0));
    ios_base::sync_with_stdio(0);
    iostream::sync_with_stdio(0);
    ios::sync_with_stdio(0);
    cin.tie(NULL);
    cout.tie(NULL);

//    in("input.txt");
//    out("output.txt");
    cin >> n;
    for (i = 1; i <= n; i++)
    {
        int l, r;
        cin >> l >> r;
        if (l > 0) f[i].le = l; else f[i].l = -l;
        if (r > 0) f[i].ri = r; else f[i].r = -r;
    }

    cout << bin(rec(1) / 2);
}
//
//00000
//00110
//00111
//00011
//00000
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 384 KB Output isn't correct
2 Incorrect 1 ms 384 KB Output isn't correct
3 Incorrect 0 ms 384 KB Output isn't correct
4 Incorrect 0 ms 384 KB Output isn't correct
5 Incorrect 0 ms 384 KB Output isn't correct
6 Incorrect 0 ms 384 KB Output isn't correct
7 Incorrect 0 ms 384 KB Output isn't correct
8 Incorrect 1 ms 384 KB Output isn't correct
9 Incorrect 0 ms 384 KB Output isn't correct
10 Incorrect 1 ms 384 KB Output isn't correct
11 Incorrect 5 ms 768 KB Output isn't correct
12 Incorrect 4 ms 768 KB Output isn't correct
13 Incorrect 24 ms 3192 KB Output isn't correct
14 Incorrect 34 ms 6520 KB Output isn't correct
15 Incorrect 31 ms 4856 KB Output isn't correct
16 Incorrect 111 ms 20344 KB Output isn't correct
17 Runtime error 174 ms 41068 KB Execution killed with signal 11 (could be triggered by violating memory limits)
18 Runtime error 177 ms 41004 KB Execution killed with signal 11 (could be triggered by violating memory limits)
19 Runtime error 179 ms 41132 KB Execution killed with signal 11 (could be triggered by violating memory limits)
20 Runtime error 246 ms 40824 KB Execution killed with signal 11 (could be triggered by violating memory limits)