Submission #251923

# Submission time Handle Problem Language Result Execution time Memory
251923 2020-07-23T06:29:33 Z kartel Poklon (COCI17_poklon7) C++14
0 / 120
1000 ms 262148 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 +1000500
#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 psi pair <string, 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{
    string l, r;
    int le, ri;
};

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

psi umax(psi a, psi b)
{
    if (sz(a.F) + a.S > sz(b.F) + b.S) return a;
    if (sz(a.F) + a.S < sz(b.F) + b.S) return b;

    string na = a.F, nb = b.F;

    while (sz(na) < sz(nb)) na += "0";
    while (sz(na) > sz(nb)) nb += "0";

    int i = 0;
    while (i < sz(na) && na[i] == nb[i]) i++;

    if (i == sz(na)) return a;

    if (na[i] > nb[i]) return a;
                  else return b;
}

psi upd(psi x)
{
    x.S++;
    return x;
}

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

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

    return upd(umax(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;
}

string restore(psi x)
{
    cout << x.F;
    for (int i = 0; i < x.S; i++) cout << "0";
}

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++)
    {
        ll l, r;
        cin >> l >> r;
        if (l > 0) f[i].le = l; else f[i].l = bin(-l);
        if (r > 0) f[i].ri = r; else f[i].r = bin(-r);
    }

    cout << restore(rec(1)) << el;
}
//
//00000
//00110
//00111
//00011
//00000

Compilation message

poklon.cpp: In function 'std::__cxx11::string restore(std::pair<std::__cxx11::basic_string<char>, int>)':
poklon.cpp:95:1: warning: no return statement in function returning non-void [-Wreturn-type]
 }
 ^
# Verdict Execution time Memory Grader output
1 Runtime error 120 ms 148088 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Runtime error 116 ms 148088 KB Execution killed with signal 11 (could be triggered by violating memory limits)
3 Runtime error 117 ms 148088 KB Execution killed with signal 11 (could be triggered by violating memory limits)
4 Runtime error 117 ms 148088 KB Execution killed with signal 11 (could be triggered by violating memory limits)
5 Runtime error 122 ms 148060 KB Execution killed with signal 11 (could be triggered by violating memory limits)
6 Runtime error 118 ms 148088 KB Execution killed with signal 11 (could be triggered by violating memory limits)
7 Runtime error 118 ms 148088 KB Execution killed with signal 11 (could be triggered by violating memory limits)
8 Runtime error 117 ms 148088 KB Execution killed with signal 11 (could be triggered by violating memory limits)
9 Runtime error 136 ms 148220 KB Execution killed with signal 11 (could be triggered by violating memory limits)
10 Runtime error 123 ms 148128 KB Execution killed with signal 11 (could be triggered by violating memory limits)
11 Runtime error 136 ms 151928 KB Execution killed with signal 11 (could be triggered by violating memory limits)
12 Runtime error 138 ms 151544 KB Execution killed with signal 11 (could be triggered by violating memory limits)
13 Runtime error 212 ms 168184 KB Execution killed with signal 11 (could be triggered by violating memory limits)
14 Runtime error 248 ms 189944 KB Execution killed with signal 11 (could be triggered by violating memory limits)
15 Runtime error 231 ms 157716 KB Execution killed with signal 11 (could be triggered by violating memory limits)
16 Runtime error 533 ms 257276 KB Execution killed with signal 11 (could be triggered by violating memory limits)
17 Execution timed out 1101 ms 262144 KB Time limit exceeded
18 Execution timed out 1094 ms 262144 KB Time limit exceeded
19 Execution timed out 1108 ms 194296 KB Time limit exceeded
20 Runtime error 907 ms 262148 KB Execution killed with signal 9 (could be triggered by violating memory limits)