Submission #448146

# Submission time Handle Problem Language Result Execution time Memory
448146 2021-07-29T03:39:02 Z JovanB Broken Device (JOI17_broken_device) C++17
0 / 100
52 ms 2432 KB
#include "Annalib.h"
#include <bits/stdc++.h>

using namespace std;

using ll = long long;

static const ll K = 626237348924392349LL;

static int radi[1005];

static int ord[] = {129, 130, 126, 98, 96, 136, 122, 82, 86, 102, 18, 124, 32, 40, 71, 51, 91, 108, 94, 17, 113, 47, 64, 66, 65, 7, 131, 76, 138, 99, 77, 81, 54, 35, 56, 39, 25, 3, 87, 101, 61, 68, 14, 112, 24, 107, 97, 19, 104, 59, 75, 33, 21, 145, 78, 15, 120, 140, 36, 44, 83, 38, 46, 103, 84, 95, 57, 22, 37, 23, 70, 149, 31, 148, 121, 110, 11, 2, 100, 42, 30, 52, 72, 53, 67, 29, 132, 139, 144, 146, 45, 26, 93, 147, 135, 80, 116, 114, 49, 4, 88, 16, 90, 127, 20, 143, 85, 55, 41, 123, 92, 10, 13, 105, 63, 58, 0, 60, 109, 34, 50, 141, 115, 117, 134, 28, 9, 118, 48, 1, 12, 6, 142, 119, 62, 128, 27, 133, 5, 43, 137, 73, 106, 8, 74, 125, 69, 111, 79, 89};

void Anna(int _n, long long X, int _k, int P[] ){
    int n = _n;
    int k = _k;
    for(int i=0; i<n; i++) radi[i] = 1;
    for(int i=0; i<k; i++) radi[P[i]] = 0;
    if(k > 37){
        for(int i=0; i<n; i++) Set(i, 1);
        return;
    }
    X ^= K;
    int j = 0;
    for(int i=0; i<38; i++){
        int treba = X%3;
        X /= 3;
        treba++;
        for(;;){
            if(treba/2 <= radi[ord[j]] && treba%2 <= radi[ord[j+1]]){
                Set(ord[j], treba/2);
                Set(ord[j+1], treba%2);
                j += 2;
                break;
            }
            Set(ord[j], 0);
            Set(ord[j+1], 0);
            j += 2;
        }
    }
    while(j < n){
        Set(ord[j], 0);
        j++;
    }
}

/*
1
150 1322662236236 40
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78
*/
#include "Brunolib.h"
#include <bits/stdc++.h>

using namespace std;

using ll = long long;

static const ll K = 626237348924392349LL;

static int ord[] = {129, 130, 126, 98, 96, 136, 122, 82, 86, 102, 18, 124, 32, 40, 71, 51, 91, 108, 94, 17, 113, 47, 64, 66, 65, 7, 131, 76, 138, 99, 77, 81, 54, 35, 56, 39, 25, 3, 87, 101, 61, 68, 14, 112, 24, 107, 97, 19, 104, 59, 75, 33, 21, 145, 78, 15, 120, 140, 36, 44, 83, 38, 46, 103, 84, 95, 57, 22, 37, 23, 70, 149, 31, 148, 121, 110, 11, 2, 100, 42, 30, 52, 72, 53, 67, 29, 132, 139, 144, 146, 45, 26, 93, 147, 135, 80, 116, 114, 49, 4, 88, 16, 90, 127, 20, 143, 85, 55, 41, 123, 92, 10, 13, 105, 63, 58, 0, 60, 109, 34, 50, 141, 115, 117, 134, 28, 9, 118, 48, 1, 12, 6, 142, 119, 62, 128, 27, 133, 5, 43, 137, 73, 106, 8, 74, 125, 69, 111, 79, 89};

long long Bruno( int N, int A[] ){
    int j = 0;
    ll p3 = 1;
    ll res = 0;
    for(int i=0; i<38; i++){
        int tr;
        for(;;){
            tr = 2*A[ord[j]] + A[ord[j+1]];
            j++;
            if(tr) break;
        }
        res += (tr-1)*p3;
        p3 *= 3;
    }
    return res ^ K;
}
# Verdict Execution time Memory Grader output
1 Partially correct 36 ms 2264 KB Output isn't correct - L* = 0
2 Partially correct 36 ms 2376 KB Output isn't correct - L* = 0
3 Partially correct 37 ms 2200 KB Output isn't correct - L* = 0
4 Partially correct 37 ms 2152 KB Output isn't correct - L* = 0
5 Partially correct 37 ms 2224 KB Output isn't correct - L* = 0
6 Partially correct 43 ms 2224 KB Output isn't correct - L* = 0
7 Partially correct 48 ms 2208 KB Output isn't correct - L* = 0
8 Partially correct 37 ms 2260 KB Output isn't correct - L* = 0
9 Partially correct 37 ms 2220 KB Output isn't correct - L* = 0
10 Partially correct 36 ms 2200 KB Output isn't correct - L* = 0
11 Partially correct 37 ms 2404 KB Output isn't correct - L* = 0
12 Partially correct 46 ms 2388 KB Output isn't correct - L* = 0
13 Partially correct 45 ms 2204 KB Output isn't correct - L* = 0
14 Partially correct 41 ms 2196 KB Output isn't correct - L* = 0
15 Partially correct 38 ms 2280 KB Output isn't correct - L* = 0
16 Partially correct 36 ms 2284 KB Output isn't correct - L* = 0
17 Partially correct 37 ms 2376 KB Output isn't correct - L* = 0
18 Partially correct 37 ms 2228 KB Output isn't correct - L* = 0
19 Partially correct 36 ms 2252 KB Output isn't correct - L* = 0
20 Partially correct 37 ms 2200 KB Output isn't correct - L* = 0
21 Partially correct 38 ms 2380 KB Output isn't correct - L* = 0
22 Partially correct 40 ms 2224 KB Output isn't correct - L* = 0
23 Partially correct 38 ms 2300 KB Output isn't correct - L* = 0
24 Partially correct 36 ms 2204 KB Output isn't correct - L* = 0
25 Partially correct 36 ms 2280 KB Output isn't correct - L* = 0
26 Partially correct 37 ms 2264 KB Output isn't correct - L* = 0
27 Partially correct 41 ms 2236 KB Output isn't correct - L* = 0
28 Partially correct 36 ms 2204 KB Output isn't correct - L* = 0
29 Partially correct 37 ms 2276 KB Output isn't correct - L* = 0
30 Partially correct 38 ms 2224 KB Output isn't correct - L* = 0
31 Partially correct 37 ms 2232 KB Output isn't correct - L* = 0
32 Partially correct 37 ms 2204 KB Output isn't correct - L* = 0
33 Partially correct 46 ms 2408 KB Output isn't correct - L* = 0
34 Partially correct 39 ms 2432 KB Output isn't correct - L* = 0
35 Partially correct 38 ms 2196 KB Output isn't correct - L* = 0
36 Partially correct 38 ms 2348 KB Output isn't correct - L* = 0
37 Partially correct 37 ms 2248 KB Output isn't correct - L* = 0
38 Partially correct 39 ms 2400 KB Output isn't correct - L* = 0
39 Partially correct 38 ms 2228 KB Output isn't correct - L* = 0
40 Partially correct 52 ms 2312 KB Output isn't correct - L* = 0