#include "Annalib.h"
#include<bits/stdc++.h>
using namespace std;
#define fast ios::sync_with_stdio(false); cin.tie(0);
#define fi first
#define se second
#define em emplace
#define eb emplace_back
#define all(v) (v).begin(), (v).end()
#define mp make_pair
void Anna( int N, long long X, int K, int P[] ){
int chk[222] = {};
for(int i=0; i<K; i++) {
chk[P[i]] = 1;
}
for(int i=0, j=0; i<N; i+=3) {
if(chk[i] + chk[i+1] + chk[i+2] == 0) {
if(((X >> j) & 3LL) == 3) chk[i] = chk[i+1] = chk[i+2] = 1;
if(((X >> j) & 3LL) == 2) chk[i] = 0, chk[i+1] = 1, chk[i+2] = 0;
if(((X >> j) & 3LL) == 1) chk[i] = 1, chk[i+1] = 0, chk[i+2] = 1;
if(((X >> j) & 3LL) == 0) chk[i] = 0, chk[i+1] = chk[i+2] = 1;
j += 2;
}
else if(chk[i] + chk[i+1] + chk[i+2] == 1) {
if(chk[i]) {
if((X >> j) & 1LL) chk[i] = chk[i+1] = 0, chk[i+2] = 1;
else if((X >> j+1) & 1LL) chk[i] = 0, chk[i+1] = 1, chk[i+2] = 0, j++;
else chk[i] = 0, chk[i+1] = chk[i+2] = 1, j++;
j++;
}
else if(chk[i+1]) {
if((X >> j) & 1LL) chk[i] = chk[i+1] = 0, chk[i+2] = 1;
else chk[i] = 1, chk[i+1] = chk[i+2] = 0;
j++;
}
else {
if((X >> j) & 1LL) chk[i] = chk[i+1] = 1, chk[i+2] = 0;
else chk[i] = 1, chk[i+1] = chk[i+2] = 0;
j++;
}
}
else chk[i] = chk[i+1] = chk[i+2] = 0;
}
for(int i=0; i<N; i++) Set(i, chk[i]);
}
#include "Brunolib.h"
#include<bits/stdc++.h>
using namespace std;
#define fast ios::sync_with_stdio(false); cin.tie(0);
#define fi first
#define se second
#define em emplace
#define eb emplace_back
#define all(v) (v).begin(), (v).end()
#define mp make_pair
typedef long long ll;
long long Bruno( int N, int A[] ){
ll ans = 0;
for(int i=0, j=0; i<N; i+=3) {
int x = A[i]*4 + A[i+1]*2 + A[i+2];
if(x == 7) ans |= 3LL << j, j+=2;
else if(x == 5) ans |= 1LL << j, j+=2;
else if(x == 2) ans |= 2LL << j, j+=2;
else if(x == 3) j+=2;
else if(x == 4) j++;
else if(x == 1 || x == 6) ans |= 1LL << j, j++;
}
return ans;
}
Compilation message
Anna.cpp: In function 'void Anna(int, long long int, int, int*)':
Anna.cpp:30:24: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
else if((X >> j+1) & 1LL) chk[i] = 0, chk[i+1] = 1, chk[i+2] = 0, j++;
~^~
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
48 ms |
3072 KB |
Output is correct - L* = 40 |
2 |
Correct |
50 ms |
3056 KB |
Output is correct - L* = 40 |
3 |
Correct |
49 ms |
3056 KB |
Output is correct - L* = 40 |
4 |
Correct |
47 ms |
3072 KB |
Output is correct - L* = 40 |
5 |
Correct |
45 ms |
3072 KB |
Output is correct - L* = 40 |
6 |
Correct |
45 ms |
3072 KB |
Output is correct - L* = 40 |
7 |
Correct |
44 ms |
3000 KB |
Output is correct - L* = 40 |
8 |
Correct |
44 ms |
3008 KB |
Output is correct - L* = 40 |
9 |
Correct |
51 ms |
3056 KB |
Output is correct - L* = 40 |
10 |
Correct |
46 ms |
3056 KB |
Output is correct - L* = 40 |
11 |
Correct |
46 ms |
3056 KB |
Output is correct - L* = 40 |
12 |
Correct |
44 ms |
3072 KB |
Output is correct - L* = 40 |
13 |
Correct |
44 ms |
3056 KB |
Output is correct - L* = 40 |
14 |
Correct |
44 ms |
3056 KB |
Output is correct - L* = 40 |
15 |
Correct |
44 ms |
3056 KB |
Output is correct - L* = 40 |
16 |
Correct |
44 ms |
3072 KB |
Output is correct - L* = 40 |
17 |
Correct |
44 ms |
3072 KB |
Output is correct - L* = 40 |
18 |
Correct |
44 ms |
3056 KB |
Output is correct - L* = 40 |
19 |
Correct |
44 ms |
3056 KB |
Output is correct - L* = 40 |
20 |
Correct |
44 ms |
3072 KB |
Output is correct - L* = 40 |
21 |
Correct |
46 ms |
3072 KB |
Output is correct - L* = 40 |
22 |
Correct |
47 ms |
3072 KB |
Output is correct - L* = 40 |
23 |
Correct |
54 ms |
3056 KB |
Output is correct - L* = 40 |
24 |
Correct |
46 ms |
3056 KB |
Output is correct - L* = 40 |
25 |
Correct |
47 ms |
3072 KB |
Output is correct - L* = 40 |
26 |
Correct |
46 ms |
3064 KB |
Output is correct - L* = 40 |
27 |
Correct |
48 ms |
3072 KB |
Output is correct - L* = 40 |
28 |
Correct |
45 ms |
3072 KB |
Output is correct - L* = 40 |
29 |
Correct |
48 ms |
3056 KB |
Output is correct - L* = 40 |
30 |
Correct |
45 ms |
3072 KB |
Output is correct - L* = 40 |
31 |
Correct |
53 ms |
3064 KB |
Output is correct - L* = 40 |
32 |
Correct |
55 ms |
3056 KB |
Output is correct - L* = 40 |
33 |
Correct |
45 ms |
3056 KB |
Output is correct - L* = 40 |
34 |
Correct |
49 ms |
3072 KB |
Output is correct - L* = 40 |
35 |
Correct |
48 ms |
3056 KB |
Output is correct - L* = 40 |
36 |
Correct |
45 ms |
3072 KB |
Output is correct - L* = 40 |
37 |
Correct |
47 ms |
3064 KB |
Output is correct - L* = 40 |
38 |
Correct |
44 ms |
3056 KB |
Output is correct - L* = 40 |
39 |
Correct |
44 ms |
3072 KB |
Output is correct - L* = 40 |
40 |
Correct |
46 ms |
3072 KB |
Output is correct - L* = 40 |