Submission #990665

# Submission time Handle Problem Language Result Execution time Memory
990665 2024-05-31T00:29:42 Z efishel Broken Device (JOI17_broken_device) C++17
85 / 100
23 ms 2648 KB
#include "Annalib.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using vll = vector <ll>;

void Anna (int n, ll x, int k, int p[]) {
    vector <char> broken(n, false);
    for (ll i : vll(p, p+k)) broken[i] = true;
    vll th(38, -15);
    for (ll i = 0; i < 38; i++) {
        th[i] = x%3;
        x /= 3;
    }
    // 00 none
    // 01 0
    // 10 1
    // 11 2
    ll at = 0;
    ll i = 0;
    vll set(n, 0);
    for (; i < n; i += 2) {
        if (at == 38) break;
        switch (th[at]) {
            case 0:
            if (broken[i+1]) break;
            set[i] = 0;
            set[i+1] = 1;
            at++;
            break;
            case 1:
            if (broken[i]) break;
            set[i] = 1;
            set[i+1] = 0;
            at++;
            break;
            case 2:
            if (broken[i] || broken[i+1]) break;
            set[i] = 1;
            set[i+1] = 1;
            at++;
            break;
            default:
            assert(false);
        }
    }
    for (ll i = 0; i < n; i++) {
        Set(i, set[i]);
    }
}
#include "Brunolib.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using vll = vector <ll>;

ll Bruno (int n, int a[]) {
    vll ve(a, a+n);
    vll th(38);
    ll at = 0;
    for (ll i = 0; i < n; i += 2) {
        if (at == 38) break;
        if (ve[i] == 0 && ve[i+1] == 0) continue;
        th[at++] = (
            ve[i] == 0 && ve[i+1] == 1 ? 0 :
            ve[i] == 1 && ve[i+1] == 0 ? 1 :
            ve[i] == 1 && ve[i+1] == 1 ? 2 : -15
        );
    }
    ll ans = 0;
    ll thr = 1;
    for (ll i = 0; i < 38; i++) {
        ans += th[i]*thr;
        thr *= 3;
    }
    return ans;
}
# Verdict Execution time Memory Grader output
1 Partially correct 20 ms 2396 KB Output is partially correct - L* = 37
2 Partially correct 22 ms 2396 KB Output is partially correct - L* = 37
3 Partially correct 20 ms 2408 KB Output is partially correct - L* = 37
4 Partially correct 22 ms 2392 KB Output is partially correct - L* = 37
5 Partially correct 20 ms 2484 KB Output is partially correct - L* = 37
6 Partially correct 20 ms 2396 KB Output is partially correct - L* = 37
7 Partially correct 20 ms 2404 KB Output is partially correct - L* = 37
8 Partially correct 22 ms 2488 KB Output is partially correct - L* = 37
9 Partially correct 20 ms 2432 KB Output is partially correct - L* = 37
10 Partially correct 23 ms 2504 KB Output is partially correct - L* = 37
11 Partially correct 20 ms 2392 KB Output is partially correct - L* = 37
12 Partially correct 20 ms 2476 KB Output is partially correct - L* = 37
13 Partially correct 20 ms 2488 KB Output is partially correct - L* = 37
14 Partially correct 20 ms 2484 KB Output is partially correct - L* = 37
15 Partially correct 20 ms 2396 KB Output is partially correct - L* = 37
16 Partially correct 20 ms 2400 KB Output is partially correct - L* = 37
17 Partially correct 22 ms 2404 KB Output is partially correct - L* = 37
18 Partially correct 20 ms 2380 KB Output is partially correct - L* = 37
19 Partially correct 22 ms 2400 KB Output is partially correct - L* = 37
20 Partially correct 20 ms 2456 KB Output is partially correct - L* = 37
21 Partially correct 20 ms 2544 KB Output is partially correct - L* = 37
22 Partially correct 20 ms 2396 KB Output is partially correct - L* = 38
23 Partially correct 22 ms 2468 KB Output is partially correct - L* = 37
24 Partially correct 20 ms 2392 KB Output is partially correct - L* = 37
25 Partially correct 20 ms 2396 KB Output is partially correct - L* = 37
26 Partially correct 20 ms 2448 KB Output is partially correct - L* = 37
27 Partially correct 22 ms 2404 KB Output is partially correct - L* = 37
28 Partially correct 20 ms 2408 KB Output is partially correct - L* = 37
29 Partially correct 22 ms 2396 KB Output is partially correct - L* = 37
30 Partially correct 20 ms 2404 KB Output is partially correct - L* = 37
31 Partially correct 23 ms 2396 KB Output is partially correct - L* = 38
32 Partially correct 20 ms 2368 KB Output is partially correct - L* = 37
33 Partially correct 20 ms 2388 KB Output is partially correct - L* = 37
34 Partially correct 20 ms 2648 KB Output is partially correct - L* = 37
35 Partially correct 20 ms 2396 KB Output is partially correct - L* = 37
36 Partially correct 20 ms 2396 KB Output is partially correct - L* = 37
37 Partially correct 20 ms 2404 KB Output is partially correct - L* = 37
38 Partially correct 20 ms 2396 KB Output is partially correct - L* = 37
39 Partially correct 20 ms 2396 KB Output is partially correct - L* = 37
40 Partially correct 20 ms 2404 KB Output is partially correct - L* = 37