# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
541648 | colazcy | Poklon (COCI17_poklon7) | C++17 | 116 ms | 73608 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <cstdio>
#include <cassert>
#include <cctype>
#include <algorithm>
#define let const auto
#define rep(name,beg,end) for(auto lim_##name = end,name = beg;name <= lim_##name;name++)
#define per(name,beg,end) for(auto lim_##name = end,name = beg;name >= lim_##name;name--)
#define repn(lim) for(auto REPN_lIM = lim,REPN = 1;REPN <= REPN_lIM;REPN++)
#define debug(...) fprintf(stderr,__VA_ARGS__)
#define trace() debug("line : %d, Function : %s\n",__LINE__,__FUNCTION__)
constexpr int maxn = 1e6 + 10;
using ll = long long;
using i128 = __int128_t;
int read(){
int x = 0,f = 1; char c = std::getchar();
while(!std::isdigit(c))f = c == '-' ? -1 : 1,c = std::getchar();
while(std::isdigit(c))x = x * 10 + c - '0',c = std::getchar();
return x * f;
}
template <typename T>
void wirte_bin(T x){
char buf[233];
int top = 0;
do{
buf[++top] = '0' + x % 2;
x /= 2;
}while(x);
per(i,top,1)std::putchar(buf[i]);
}
struct Integer{
ll v;
int d;
bool operator < (const Integer &rhs)const{
if(std::abs(d - rhs.d) >= 64)return d < rhs.d;
let v1 = i128(v) << (d - std::min(d,rhs.d));
let v2 = i128(rhs.v) << (rhs.d - std::min(d,rhs.d));
return v1 < v2;
}
}ans;
int n,ls[maxn],rs[maxn];
ll solve(const int x,const int dep = 0){
if(x < 0){
ans = std::max(ans,Integer{-x,dep});
return -x;
}
ll res = 0;
res += solve(ls[x],dep + 1);
res += solve(rs[x],dep + 1);
ans = std::max(ans,Integer{res,dep});
return res;
}
int main(){
// std::freopen("poklon.in","r",stdin);
// std::freopen("poklon.out","w",stdout);
n = read();
rep(i,1,n)
ls[i] = read(),rs[i] = read();
solve(1);
wirte_bin(ans.v);
repn(ans.d)std::putchar('0');
std::puts("");
// std::fclose(stdin);
// std::fclose(stdout);
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |