Submission #21542

# Submission time Handle Problem Language Result Execution time Memory
21542 2017-04-14T08:45:36 Z Ushio Broken Device (JOI17_broken_device) C++14
0 / 100
72 ms 4644 KB
#include "Annalib.h"
#include <algorithm>
#include <iostream>
#include <cstdlib>
#include <vector>
using namespace std;

void Anna( int N, long long X, int K, int P[] ){
    vector<int> per(N + 2);
    srand(241417941L);
    for (int i = 0; i < N + 2; ++i) {
        per[i] = i;
    }
    for (int i = 0; i < N; ++i) {
        int pos = i + rand() % (N - i);
        swap(per[i], per[pos]);
    }
    int bit = 0;
    int validity = 0;
    vector<bool> bad(N + 1, false);
    bad[per[N]] = true;
    bad[per[N + 1]] = true;
    for (int i = 0; i < K; ++i) {
        bad[P[i]] = true;
    }
    for (int i = 0; i < N; ++i) {
        if (validity == 0) {
            if (bad[per[i]] || (bad[per[i + 1]] && bad[per[i + 2]])) {
                Set(per[i], 0);
                validity = 0;
            } else {
                Set(per[i], 1);
                validity = 2;
            }
        } else {
            if (bit <= 59) {
                if (X & (1LL << bit)) {
                    Set(per[i], 1);
                } else {
                    Set(per[i], 0);
                }
                bit++;
            } else {
                Set(per[i], 0);
            }
            validity--;
        }
    }
    cerr << "In: " << X << endl;
}
#include "Brunolib.h"
#include <algorithm>
#include <iostream>
#include <cstdlib>
#include <vector>
using namespace std;

long long Bruno( int N, int A[] ){
    vector<int> per(N + 1);
    srand(241417941L);
    for (int i = 0; i < N + 1; ++i) {
        per[i] = i;
    }
    for (int i = 0; i < N; ++i) {
        int pos = i + rand() % (N - i);
        swap(per[i], per[pos]);
    }
    int validity = 0;
    int bit = 0;
    int64_t ans = 0;
    for (int i = 0; i < N; ++i) {
        if (validity == 0) {
            validity = A[per[i]] * 2;
        } else {
            if (bit <= 59) {
                ans |= ((int64_t) A[per[i]]) << bit;
                ++bit;
            }
            validity--;
        }
    }
    cerr << "Out: " << ans << endl;
    return ans;
}
# Verdict Execution time Memory Grader output
1 Incorrect 49 ms 4644 KB Output isn't correct - L* = 0
2 Incorrect 48 ms 4644 KB Output isn't correct - L* = 0
3 Incorrect 55 ms 4644 KB Output isn't correct - L* = 0
4 Incorrect 52 ms 4644 KB Output isn't correct - L* = 0
5 Incorrect 58 ms 4644 KB Output isn't correct - L* = 0
6 Incorrect 62 ms 4644 KB Output isn't correct - L* = 0
7 Incorrect 46 ms 4644 KB Output isn't correct - L* = 0
8 Incorrect 49 ms 4644 KB Output isn't correct - L* = 0
9 Incorrect 62 ms 4644 KB Output isn't correct - L* = 0
10 Incorrect 48 ms 4644 KB Output isn't correct - L* = 0
11 Incorrect 59 ms 4644 KB Output isn't correct - L* = 0
12 Incorrect 62 ms 4644 KB Output isn't correct - L* = 0
13 Incorrect 49 ms 4644 KB Output isn't correct - L* = 0
14 Incorrect 55 ms 4644 KB Output isn't correct - L* = 0
15 Incorrect 48 ms 4644 KB Output isn't correct - L* = 0
16 Incorrect 66 ms 4644 KB Output isn't correct - L* = 0
17 Incorrect 59 ms 4644 KB Output isn't correct - L* = 0
18 Incorrect 46 ms 4644 KB Output isn't correct - L* = 0
19 Incorrect 65 ms 4644 KB Output isn't correct - L* = 0
20 Incorrect 56 ms 4644 KB Output isn't correct - L* = 0
21 Incorrect 49 ms 4644 KB Output isn't correct - L* = 0
22 Incorrect 59 ms 4644 KB Output isn't correct - L* = 0
23 Incorrect 66 ms 4644 KB Output isn't correct - L* = 0
24 Incorrect 72 ms 4644 KB Output isn't correct - L* = 0
25 Incorrect 45 ms 4644 KB Output isn't correct - L* = 0
26 Incorrect 66 ms 4644 KB Output isn't correct - L* = 0
27 Incorrect 49 ms 4644 KB Output isn't correct - L* = 0
28 Incorrect 52 ms 4644 KB Output isn't correct - L* = 0
29 Incorrect 45 ms 4644 KB Output isn't correct - L* = 0
30 Incorrect 48 ms 4644 KB Output isn't correct - L* = 0
31 Incorrect 55 ms 4644 KB Output isn't correct - L* = 0
32 Incorrect 55 ms 4644 KB Output isn't correct - L* = 0
33 Incorrect 55 ms 4644 KB Output isn't correct - L* = 0
34 Incorrect 69 ms 4644 KB Output isn't correct - L* = 0
35 Incorrect 52 ms 4644 KB Output isn't correct - L* = 0
36 Incorrect 41 ms 4644 KB Output isn't correct - L* = 0
37 Incorrect 41 ms 4644 KB Output isn't correct - L* = 0
38 Incorrect 41 ms 4644 KB Output isn't correct - L* = 0
39 Incorrect 65 ms 4644 KB Output isn't correct - L* = 0
40 Incorrect 52 ms 4644 KB Output isn't correct - L* = 0