#include"Annalib.h"
#include<iostream>
#include<vector>
#include<algorithm>
#define ep emplace
#define eb emplace_back
#define fi first
#define se second
#define all(x) (x).begin(),(x).end()
using namespace std;
typedef long long ll;
typedef pair<int,int>pi;
typedef pair<ll,ll>pl;
const int inf=1e9+7;
const ll INF=1e18;
inline void set(int i,int x,int y,int z)
{
Set(i,x);
Set(i+1,y);
Set(i+2,z);
return;
}
static bool chk[150];
void Anna(int N,ll X,int K,int P[])
{
for(int i=0;i<N;i++)
chk[i]=0;
for(int i=0;i<K;i++)
chk[P[i]]=1;
vector<int>dat;
for(int i=0;i<60;i++)
dat.eb(X>>i&1);
for(int i=0;i<90;i++)
dat.eb(0);
for(int i=0,c=0;i<150;i+=3)
{
int cbit=dat[c++];
int col=(chk[i]?4:0)+(chk[i+1]?2:0)+(chk[i+2]?1:0);
if(col>=3&&col!=4)
set(i,0,0,0),c--;
else if(col==0)
{
int cbit2=dat[c++];
if(cbit==1)
{
if(cbit2==1)
set(i,1,0,1);
else
set(i,1,0,0);
}
else if(cbit2==1)
set(i,1,1,0);
else
set(i,1,1,1);
}
else if(col==1)
{
int cbit2=dat[c];
if(cbit==cbit2)
set(i,0,1,0);
else if(cbit==1)
set(i,1,0,0),c++;
else
set(i,1,1,0),c++;
}
else if(col==2)
{
int cbit2=dat[c];
if(cbit==0)
set(i,0,0,1);
else if(cbit2==1)
set(i,1,0,1),c++;
else
set(i,1,0,0),c++;
}
else if(cbit==1)
set(i,0,1,1);
else
set(i,0,0,1);
}
return;
}
#include"Brunolib.h"
#include<iostream>
#include<vector>
#include<algorithm>
#define ep emplace
#define eb emplace_back
#define fi first
#define se second
#define all(x) (x).begin(),(x).end()
using namespace std;
typedef long long ll;
typedef pair<int,int>pi;
typedef pair<ll,ll>pl;
const int inf=1e9+7;
const ll INF=1e18;
ll Bruno(int N,int A[])
{
vector<int>dat(150,0);
for(int i=0,c=0;i<150;i+=3)
{
int col=A[i]*4+A[i+1]*2+A[i+2];
if(col==1)
dat[c++]=0;
else if(col==2)
dat[c++]=-1;
else if(col==3)
dat[c++]=1;
else if(col==4)
dat[c++]=1,dat[c++]=0;
else if(col==5)
dat[c++]=1,dat[c++]=1;
else if(col==6)
dat[c++]=0,dat[c++]=1;
else if(col==7)
dat[c++]=0,dat[c++]=0;
}
for(int i=149;i-->0;)
if(dat[i]==-1)
dat[i]=dat[i+1];
ll x=0;
for(int i=0;i<60;i++)
x|=(ll)dat[i]<<i;
return x;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
48 ms |
3056 KB |
Output is correct - L* = 40 |
2 |
Correct |
44 ms |
3072 KB |
Output is correct - L* = 40 |
3 |
Correct |
43 ms |
3072 KB |
Output is correct - L* = 40 |
4 |
Correct |
43 ms |
3072 KB |
Output is correct - L* = 40 |
5 |
Correct |
43 ms |
3056 KB |
Output is correct - L* = 40 |
6 |
Correct |
46 ms |
3056 KB |
Output is correct - L* = 40 |
7 |
Correct |
43 ms |
3064 KB |
Output is correct - L* = 40 |
8 |
Correct |
46 ms |
3056 KB |
Output is correct - L* = 40 |
9 |
Correct |
43 ms |
3072 KB |
Output is correct - L* = 40 |
10 |
Correct |
48 ms |
3328 KB |
Output is correct - L* = 40 |
11 |
Correct |
43 ms |
3056 KB |
Output is correct - L* = 40 |
12 |
Correct |
43 ms |
3056 KB |
Output is correct - L* = 40 |
13 |
Correct |
43 ms |
3056 KB |
Output is correct - L* = 40 |
14 |
Correct |
58 ms |
3072 KB |
Output is correct - L* = 40 |
15 |
Correct |
55 ms |
3056 KB |
Output is correct - L* = 40 |
16 |
Correct |
53 ms |
3056 KB |
Output is correct - L* = 40 |
17 |
Correct |
47 ms |
3072 KB |
Output is correct - L* = 40 |
18 |
Correct |
46 ms |
3072 KB |
Output is correct - L* = 40 |
19 |
Correct |
47 ms |
3056 KB |
Output is correct - L* = 40 |
20 |
Correct |
45 ms |
3072 KB |
Output is correct - L* = 40 |
21 |
Correct |
50 ms |
3072 KB |
Output is correct - L* = 40 |
22 |
Correct |
46 ms |
3056 KB |
Output is correct - L* = 40 |
23 |
Correct |
44 ms |
3072 KB |
Output is correct - L* = 40 |
24 |
Correct |
43 ms |
3056 KB |
Output is correct - L* = 40 |
25 |
Correct |
46 ms |
3072 KB |
Output is correct - L* = 40 |
26 |
Correct |
43 ms |
3072 KB |
Output is correct - L* = 40 |
27 |
Correct |
48 ms |
3064 KB |
Output is correct - L* = 40 |
28 |
Correct |
43 ms |
3056 KB |
Output is correct - L* = 40 |
29 |
Correct |
49 ms |
2992 KB |
Output is correct - L* = 40 |
30 |
Correct |
43 ms |
3072 KB |
Output is correct - L* = 40 |
31 |
Correct |
54 ms |
3056 KB |
Output is correct - L* = 40 |
32 |
Correct |
55 ms |
3056 KB |
Output is correct - L* = 40 |
33 |
Correct |
47 ms |
3056 KB |
Output is correct - L* = 40 |
34 |
Correct |
47 ms |
3072 KB |
Output is correct - L* = 40 |
35 |
Correct |
60 ms |
3056 KB |
Output is correct - L* = 40 |
36 |
Correct |
44 ms |
3056 KB |
Output is correct - L* = 40 |
37 |
Correct |
48 ms |
3072 KB |
Output is correct - L* = 40 |
38 |
Correct |
48 ms |
3056 KB |
Output is correct - L* = 40 |
39 |
Correct |
47 ms |
3056 KB |
Output is correct - L* = 40 |
40 |
Correct |
45 ms |
3056 KB |
Output is correct - L* = 40 |