Submission #1005448

# Submission time Handle Problem Language Result Execution time Memory
1005448 2024-06-22T12:53:47 Z 79brue City (JOI17_city) C++17
8 / 100
89 ms 20516 KB
#include "Encoder.h"
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

namespace{
    const int M = 500;
    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++) Code(i, in[i] << 9 | 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 = 500;
    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 >> 9, SR = SL + len[S & 511];
    ll TL = T >> 9, TR = TL + len[T & 511];
    if(SL<=TL&&TR<=SR) return 1;
    if(TL<=SL&&SR<=TR) return 0;
    return 2;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 13088 KB Output is correct
2 Correct 2 ms 13068 KB Output is correct
3 Correct 2 ms 13088 KB Output is correct
4 Correct 2 ms 13088 KB Output is correct
5 Correct 2 ms 13088 KB Output is correct
6 Correct 2 ms 13076 KB Output is correct
7 Correct 3 ms 13088 KB Output is correct
8 Correct 2 ms 13076 KB Output is correct
9 Correct 2 ms 13084 KB Output is correct
10 Correct 2 ms 13076 KB Output is correct
11 Correct 2 ms 13084 KB Output is correct
12 Correct 2 ms 13088 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 89 ms 20516 KB Wrong Answer [6]
2 Halted 0 ms 0 KB -