#include "Anna.h"
#include <bits/stdc++.h>
using namespace std;
int Declare()
{
return 180;
}
pair<vector<int>, vector<int>> Anna(long long A)
{
vector<int> U, V;
for(int i=59; i>=0; --i)
for(int j=0; j<3; j++)
U.push_back((A>>i)&1);
for(int i=0; i<90; i++)
V.push_back(0), V.push_back(1);
return {U, V};
}
#include "Bruno.h"
#include <bits/stdc++.h>
using namespace std;
enum State
{
P1_0_1_or_N_11_1_or_P1_00_0,
P1_N_1_or_N_11_0_or_P1_0_0,
N_11_1_or_N_1_0,
N_1_1_or_N_N_0,
N_0_0_or_N_N_1,
N_00_0_or_N_0_1,
P0_N_0_or_N_00_1_or_P0_1_1,
P0_1_0_or_N_00_0_or_P0_11_1,
};
pair<int, State> t0(State A)
{
switch (A)
{
case P1_0_1_or_N_11_1_or_P1_00_0:
return {1, P0_N_0_or_N_00_1_or_P0_1_1};
case P1_N_1_or_N_11_0_or_P1_0_0:
return {-1, P1_0_1_or_N_11_1_or_P1_00_0};
case N_11_1_or_N_1_0:
return {-1, N_1_1_or_N_N_0};
case N_1_1_or_N_N_0:
return {-1, N_0_0_or_N_N_1};
case N_0_0_or_N_N_1:
return {-1, N_00_0_or_N_0_1};
case N_00_0_or_N_0_1:
return {-1, P0_N_0_or_N_00_1_or_P0_1_1};
case P0_N_0_or_N_00_1_or_P0_1_1:
return {0, N_0_0_or_N_N_1};
case P0_1_0_or_N_00_0_or_P0_11_1:
return {-1, P0_N_0_or_N_00_1_or_P0_1_1};
}
assert(false);
}
pair<int, State> t1(State A)
{
switch (A)
{
case P1_0_1_or_N_11_1_or_P1_00_0:
return {-1, P1_N_1_or_N_11_0_or_P1_0_0};
case P1_N_1_or_N_11_0_or_P1_0_0:
return {1, N_1_1_or_N_N_0};
case N_11_1_or_N_1_0:
return {-1, P1_N_1_or_N_11_0_or_P1_0_0};
case N_1_1_or_N_N_0:
return {-1, N_11_1_or_N_1_0};
case N_0_0_or_N_N_1:
return {-1, N_1_1_or_N_N_0};
case N_00_0_or_N_0_1:
return {-1, N_0_0_or_N_N_1};
case P0_N_0_or_N_00_1_or_P0_1_1:
return {-1, P0_1_0_or_N_00_0_or_P0_11_1};
case P0_1_0_or_N_00_0_or_P0_11_1:
return {0, P1_N_1_or_N_11_0_or_P1_0_0};
}
assert(false);
}
int final(State A)
{
switch (A)
{
case P1_0_1_or_N_11_1_or_P1_00_0:
return 1;
case P1_N_1_or_N_11_0_or_P1_0_0:
return 1;
case N_11_1_or_N_1_0:
assert(false);
return -1;
case N_1_1_or_N_N_0:
return -1;
case N_0_0_or_N_N_1:
return -1;
case N_00_0_or_N_0_1:
assert(false);
return -1;
case P0_N_0_or_N_00_1_or_P0_1_1:
return 0;
case P0_1_0_or_N_00_0_or_P0_11_1:
return 0;
}
assert(false);
}
long long Bruno(vector<int> u)
{
long long ret = 0;
State cur = N_1_1_or_N_N_0;
for (int v : u)
{
auto [x, y] = v ? t1(cur) : t0(cur);
if (x != -1)
ret = ret * 2 + x;
cur = y;
}
int x = final(cur);
if (x != -1)
ret = ret * 2 + x;
return ret;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
512 KB |
Output is correct |
2 |
Correct |
73 ms |
3460 KB |
Output is correct |
3 |
Correct |
71 ms |
3380 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
512 KB |
Output is correct |
2 |
Correct |
73 ms |
3460 KB |
Output is correct |
3 |
Correct |
71 ms |
3380 KB |
Output is correct |
4 |
Correct |
73 ms |
3524 KB |
Output is correct |
5 |
Correct |
104 ms |
3468 KB |
Output is correct |
6 |
Correct |
79 ms |
3396 KB |
Output is correct |
7 |
Correct |
74 ms |
3360 KB |
Output is correct |
8 |
Correct |
82 ms |
3472 KB |
Output is correct |
9 |
Correct |
76 ms |
3504 KB |
Output is correct |
10 |
Correct |
71 ms |
3420 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
512 KB |
Output is correct |
2 |
Correct |
73 ms |
3460 KB |
Output is correct |
3 |
Correct |
71 ms |
3380 KB |
Output is correct |
4 |
Correct |
73 ms |
3524 KB |
Output is correct |
5 |
Correct |
104 ms |
3468 KB |
Output is correct |
6 |
Correct |
79 ms |
3396 KB |
Output is correct |
7 |
Correct |
74 ms |
3360 KB |
Output is correct |
8 |
Correct |
82 ms |
3472 KB |
Output is correct |
9 |
Correct |
76 ms |
3504 KB |
Output is correct |
10 |
Correct |
71 ms |
3420 KB |
Output is correct |
11 |
Correct |
87 ms |
3328 KB |
Output is correct |
12 |
Correct |
79 ms |
3376 KB |
Output is correct |
13 |
Correct |
74 ms |
3460 KB |
Output is correct |
14 |
Correct |
73 ms |
3428 KB |
Output is correct |
15 |
Correct |
92 ms |
3480 KB |
Output is correct |
16 |
Correct |
87 ms |
3396 KB |
Output is correct |
17 |
Correct |
71 ms |
3428 KB |
Output is correct |
18 |
Correct |
80 ms |
3396 KB |
Output is correct |
19 |
Correct |
77 ms |
3388 KB |
Output is correct |
20 |
Correct |
78 ms |
3368 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
512 KB |
Output is correct |
2 |
Correct |
73 ms |
3460 KB |
Output is correct |
3 |
Correct |
71 ms |
3380 KB |
Output is correct |
4 |
Correct |
73 ms |
3524 KB |
Output is correct |
5 |
Correct |
104 ms |
3468 KB |
Output is correct |
6 |
Correct |
79 ms |
3396 KB |
Output is correct |
7 |
Correct |
74 ms |
3360 KB |
Output is correct |
8 |
Correct |
82 ms |
3472 KB |
Output is correct |
9 |
Correct |
76 ms |
3504 KB |
Output is correct |
10 |
Correct |
71 ms |
3420 KB |
Output is correct |
11 |
Correct |
87 ms |
3328 KB |
Output is correct |
12 |
Correct |
79 ms |
3376 KB |
Output is correct |
13 |
Correct |
74 ms |
3460 KB |
Output is correct |
14 |
Correct |
73 ms |
3428 KB |
Output is correct |
15 |
Correct |
92 ms |
3480 KB |
Output is correct |
16 |
Correct |
87 ms |
3396 KB |
Output is correct |
17 |
Correct |
71 ms |
3428 KB |
Output is correct |
18 |
Correct |
80 ms |
3396 KB |
Output is correct |
19 |
Correct |
77 ms |
3388 KB |
Output is correct |
20 |
Correct |
78 ms |
3368 KB |
Output is correct |
21 |
Correct |
82 ms |
3448 KB |
Output is correct |
22 |
Correct |
75 ms |
3432 KB |
Output is correct |
23 |
Correct |
81 ms |
3404 KB |
Output is correct |
24 |
Correct |
77 ms |
3496 KB |
Output is correct |
25 |
Correct |
77 ms |
3456 KB |
Output is correct |
26 |
Correct |
71 ms |
3680 KB |
Output is correct |
27 |
Correct |
76 ms |
3428 KB |
Output is correct |
28 |
Correct |
93 ms |
3336 KB |
Output is correct |
29 |
Correct |
75 ms |
3432 KB |
Output is correct |
30 |
Correct |
75 ms |
3380 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
512 KB |
Output is correct |
2 |
Correct |
73 ms |
3460 KB |
Output is correct |
3 |
Correct |
71 ms |
3380 KB |
Output is correct |
4 |
Correct |
73 ms |
3524 KB |
Output is correct |
5 |
Correct |
104 ms |
3468 KB |
Output is correct |
6 |
Correct |
79 ms |
3396 KB |
Output is correct |
7 |
Correct |
74 ms |
3360 KB |
Output is correct |
8 |
Correct |
82 ms |
3472 KB |
Output is correct |
9 |
Correct |
76 ms |
3504 KB |
Output is correct |
10 |
Correct |
71 ms |
3420 KB |
Output is correct |
11 |
Correct |
87 ms |
3328 KB |
Output is correct |
12 |
Correct |
79 ms |
3376 KB |
Output is correct |
13 |
Correct |
74 ms |
3460 KB |
Output is correct |
14 |
Correct |
73 ms |
3428 KB |
Output is correct |
15 |
Correct |
92 ms |
3480 KB |
Output is correct |
16 |
Correct |
87 ms |
3396 KB |
Output is correct |
17 |
Correct |
71 ms |
3428 KB |
Output is correct |
18 |
Correct |
80 ms |
3396 KB |
Output is correct |
19 |
Correct |
77 ms |
3388 KB |
Output is correct |
20 |
Correct |
78 ms |
3368 KB |
Output is correct |
21 |
Correct |
82 ms |
3448 KB |
Output is correct |
22 |
Correct |
75 ms |
3432 KB |
Output is correct |
23 |
Correct |
81 ms |
3404 KB |
Output is correct |
24 |
Correct |
77 ms |
3496 KB |
Output is correct |
25 |
Correct |
77 ms |
3456 KB |
Output is correct |
26 |
Correct |
71 ms |
3680 KB |
Output is correct |
27 |
Correct |
76 ms |
3428 KB |
Output is correct |
28 |
Correct |
93 ms |
3336 KB |
Output is correct |
29 |
Correct |
75 ms |
3432 KB |
Output is correct |
30 |
Correct |
75 ms |
3380 KB |
Output is correct |
31 |
Correct |
80 ms |
3332 KB |
Output is correct |
32 |
Correct |
86 ms |
3464 KB |
Output is correct |
33 |
Correct |
75 ms |
3520 KB |
Output is correct |
34 |
Correct |
82 ms |
3556 KB |
Output is correct |
35 |
Correct |
92 ms |
3492 KB |
Output is correct |
36 |
Correct |
84 ms |
3464 KB |
Output is correct |
37 |
Correct |
71 ms |
3412 KB |
Output is correct |
38 |
Correct |
74 ms |
3336 KB |
Output is correct |
39 |
Correct |
79 ms |
3392 KB |
Output is correct |
40 |
Correct |
84 ms |
3424 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Partially correct |
82 ms |
3332 KB |
Output is partially correct |
2 |
Partially correct |
81 ms |
3560 KB |
Output is partially correct |
3 |
Partially correct |
88 ms |
3460 KB |
Output is partially correct |
4 |
Partially correct |
75 ms |
3512 KB |
Output is partially correct |
5 |
Partially correct |
82 ms |
3484 KB |
Output is partially correct |
6 |
Partially correct |
78 ms |
3500 KB |
Output is partially correct |
7 |
Partially correct |
90 ms |
3520 KB |
Output is partially correct |
8 |
Partially correct |
77 ms |
3348 KB |
Output is partially correct |
9 |
Partially correct |
86 ms |
3356 KB |
Output is partially correct |
10 |
Partially correct |
81 ms |
3448 KB |
Output is partially correct |
11 |
Partially correct |
82 ms |
3396 KB |
Output is partially correct |
12 |
Partially correct |
83 ms |
3528 KB |
Output is partially correct |
13 |
Partially correct |
73 ms |
3352 KB |
Output is partially correct |
14 |
Partially correct |
84 ms |
3440 KB |
Output is partially correct |
15 |
Partially correct |
95 ms |
3500 KB |
Output is partially correct |
16 |
Partially correct |
86 ms |
3452 KB |
Output is partially correct |
17 |
Partially correct |
82 ms |
3440 KB |
Output is partially correct |
18 |
Partially correct |
83 ms |
3556 KB |
Output is partially correct |
19 |
Partially correct |
92 ms |
3456 KB |
Output is partially correct |
20 |
Partially correct |
75 ms |
3400 KB |
Output is partially correct |