Submission #226226

# Submission time Handle Problem Language Result Execution time Memory
226226 2020-04-23T05:19:17 Z quocnguyen1012 Poklon (COCI17_poklon7) C++14
48 / 120
324 ms 60792 KB
#include <bits/stdc++.h>

#define fi first
#define se second
#define mp make_pair
#define pb push_back
#define eb emplace_back
#define ar array

using namespace std;
typedef long long ll;
typedef pair<int, int> ii;

const int maxn = 1e6 + 5, inf = 1e9;

int lc[maxn], rc[maxn];
int N;
int val[3 * maxn];

ll solve(int u)
{
  if(u > N){
    return val[u];
  }
  ll le = -1, ri = -1;
  if(lc[u]) le = solve(lc[u]);
  if(rc[u]) ri = solve(rc[u]);
  if(le == -1) return ri;
  if(ri == -1) return le;
  return max(ri, le) * 2ll;
}

signed main(void)
{
  ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
  #ifdef LOCAL
    freopen("A.INP", "r", stdin);
    freopen("A.OUT", "w", stdout);
  #endif // LOCAL
  cin >> N;
  int cnt = N + 1;
  for(int i = 1; i <= N; ++i){
    int a, b; cin >> a >> b;
    if(a < 0){
      lc[i] = cnt;
      val[cnt] = -a;
      ++cnt;
    }
    else{
      lc[i] = a;
    }
    if(b < 0){
      rc[i] = cnt;
      val[cnt] = -b;
      ++cnt;
    }
    else{
      rc[i] = b;
    }
  }
  ll res = solve(1);
  bool lead = false;
  for(int bit = 63; bit >= 0; --bit){
    if(res >> bit & 1){
      lead = true;
    }
    if(lead) cout << (res >> bit & 1);
  }
}
# Verdict Execution time Memory Grader output
1 Correct 4 ms 384 KB Output is correct
2 Correct 4 ms 384 KB Output is correct
3 Correct 5 ms 384 KB Output is correct
4 Correct 5 ms 384 KB Output is correct
5 Correct 4 ms 384 KB Output is correct
6 Correct 5 ms 384 KB Output is correct
7 Correct 5 ms 384 KB Output is correct
8 Correct 5 ms 384 KB Output is correct
9 Incorrect 5 ms 384 KB Output isn't correct
10 Incorrect 5 ms 384 KB Output isn't correct
11 Incorrect 7 ms 768 KB Output isn't correct
12 Incorrect 8 ms 768 KB Output isn't correct
13 Incorrect 20 ms 2560 KB Output isn't correct
14 Incorrect 34 ms 4856 KB Output isn't correct
15 Incorrect 34 ms 3320 KB Output isn't correct
16 Incorrect 109 ms 14072 KB Output isn't correct
17 Incorrect 259 ms 31480 KB Output isn't correct
18 Incorrect 247 ms 33016 KB Output isn't correct
19 Incorrect 324 ms 35064 KB Output isn't correct
20 Incorrect 313 ms 60792 KB Output isn't correct