Submission #1005452

# Submission time Handle Problem Language Result Execution time Memory
1005452 2024-06-22T13:03:31 Z 79brue City (JOI17_city) C++17
0 / 100
10 ms 25584 KB
#include "Encoder.h"
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

namespace{
    const int M = 300;
    int n;
    ll len[512] = {0};
    void init(){
        for(int i=1; i<=M; i++){
            len[i] = round(double(len[i-1]) * 1.05);
            if(len[i] == len[i-1]) len[i]++;
        }
    }

    vector<int> link[250005];
    ll in[250005], out[250002], inCnt, t[250002];

    void dfs(int x, int p=-1){
        in[x] = ++inCnt;
        for(int y: link[x]){
            if(y==p) continue;
            dfs(y, x);
        }
        t[x] = lower_bound(len, len+M+1, inCnt - in[x]) - len;
        out[x] = in[x] + len[t[x]];
    }

    void encode(int N, int A[], int B[]){
        init();
        n = N;
        for(int i=0; i<n-1; i++) link[A[i]].push_back(B[i]), link[B[i]].push_back(A[i]);

        dfs(0);
        for(int i=0; i<n; i++){
            assert(in[i] < (1<<19) && out[i] - in[i] < t[255]);
            Code(i, in[i] << 8 | t[i]);
        }
    }
}

void Encode(int N, int A[], int B[]){
    encode(N, A, B);
}
#include "Device.h"
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

namespace{
    const int M = 300;
    ll len[512] = {0};
    void init(){
        for(int i=1; i<=M; i++){
            len[i] = round(double(len[i-1]) * 1.05);
            if(len[i] == len[i-1]) len[i]++;
        }
    }
}

void InitDevice(){
    init();
}

int Answer(ll S, ll T){
    ll SL = S >> 8, SR = SL + len[S & 255];
    ll TL = T >> 8, TR = TL + len[T & 255];
    if(SL<=TL&&TR<=SR) return 1;
    if(TL<=SL&&SR<=TR) return 0;
    return 2;
}
# Verdict Execution time Memory Grader output
1 Runtime error 9 ms 25436 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 10 ms 25584 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -