#include "Annalib.h"
#include <bits/stdc++.h>
#define rep(a,b,c) for(int a=b; a<c; a++)
#define repa(a,b) for(auto a: b)
#define repr(a,b,c) for(int a=b-1; a>c-1; a--)
using namespace std;
void Anna( int N, long long X, int K, int P[] ){
mt19937_64 rnd(123456789);
bool b[150]{};
int pp[150];
rep(i,0,150) pp[i]=i;
shuffle(pp,pp+150,rnd);
rep(i,0,K) b[P[i]]=1;
int d[38]{}, p=0;
while(X){
d[p++]=X%3;
X/=3;
}
p=0;
for( int i = 0; i < N; i+=2 ){
if(!b[pp[i]] && !b[pp[i+1]] && p<38){
if(d[p]==0) Set(pp[i],1), Set(pp[i+1],1); //1,1 = 0
if(d[p]==1) Set(pp[i],1), Set(pp[i+1],0); //1,0 = 1
if(d[p]==2) Set(pp[i],0), Set(pp[i+1],1); //0,1 = 2
p++;
}else Set(pp[i],0), Set(pp[i+1],0);
}
}
#include "Brunolib.h"
#define rep(a,b,c) for(int a=b; a<c; a++)
#define ll long long
#include <bits/stdc++.h>
using namespace std;
ll fpow(ll x, ll y){
if(!y) return 1;
if(y&1) return fpow(x,y-1)*x;
ll z=fpow(x,y/2);
return z*z;
}
long long Bruno( int N, int A[] ){
mt19937_64 rnd(123456789);
ll d[38]{}, p=0;
ll X=0;
int pp[150];
rep(i,0,150) pp[i]=i;
shuffle(pp,pp+150,rnd);
rep(i,0,N){
if(A[pp[i]]==0 && A[pp[i+1]]==0){
i++;
continue;
}
if(A[pp[i]]==1 && A[pp[i+1]]==1) d[p++]=0;
if(A[pp[i]]==1 && A[pp[i+1]]==0) d[p++]=1;
if(A[pp[i]]==0 && A[pp[i+1]]==1) d[p++]=2;
i++;
if(p==38) break;
}
rep(i,0,38){
X+=d[i]*fpow(3,i);
}
return X;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Partially correct |
25 ms |
2304 KB |
Output is partially correct - L* = 38 |
2 |
Partially correct |
25 ms |
2384 KB |
Output is partially correct - L* = 38 |
3 |
Partially correct |
27 ms |
2464 KB |
Output is partially correct - L* = 38 |
4 |
Partially correct |
24 ms |
2400 KB |
Output is partially correct - L* = 38 |
5 |
Partially correct |
25 ms |
2388 KB |
Output is partially correct - L* = 38 |
6 |
Partially correct |
24 ms |
2396 KB |
Output is partially correct - L* = 38 |
7 |
Partially correct |
24 ms |
2396 KB |
Output is partially correct - L* = 38 |
8 |
Partially correct |
24 ms |
2368 KB |
Output is partially correct - L* = 38 |
9 |
Partially correct |
24 ms |
2396 KB |
Output is partially correct - L* = 38 |
10 |
Partially correct |
24 ms |
2396 KB |
Output is partially correct - L* = 38 |
11 |
Partially correct |
24 ms |
2396 KB |
Output is partially correct - L* = 38 |
12 |
Partially correct |
24 ms |
2396 KB |
Output is partially correct - L* = 38 |
13 |
Partially correct |
24 ms |
2396 KB |
Output is partially correct - L* = 38 |
14 |
Partially correct |
24 ms |
2396 KB |
Output is partially correct - L* = 38 |
15 |
Partially correct |
24 ms |
2396 KB |
Output is partially correct - L* = 38 |
16 |
Partially correct |
24 ms |
2404 KB |
Output is partially correct - L* = 38 |
17 |
Partially correct |
24 ms |
2396 KB |
Output is partially correct - L* = 38 |
18 |
Partially correct |
24 ms |
2396 KB |
Output is partially correct - L* = 37 |
19 |
Partially correct |
31 ms |
2392 KB |
Output is partially correct - L* = 38 |
20 |
Partially correct |
24 ms |
2396 KB |
Output is partially correct - L* = 37 |
21 |
Partially correct |
24 ms |
2396 KB |
Output is partially correct - L* = 38 |
22 |
Partially correct |
24 ms |
2488 KB |
Output is partially correct - L* = 38 |
23 |
Partially correct |
24 ms |
2404 KB |
Output is partially correct - L* = 38 |
24 |
Partially correct |
24 ms |
2396 KB |
Output is partially correct - L* = 38 |
25 |
Partially correct |
24 ms |
2396 KB |
Output is partially correct - L* = 38 |
26 |
Partially correct |
25 ms |
2404 KB |
Output is partially correct - L* = 38 |
27 |
Partially correct |
24 ms |
2396 KB |
Output is partially correct - L* = 38 |
28 |
Partially correct |
26 ms |
2396 KB |
Output is partially correct - L* = 37 |
29 |
Partially correct |
24 ms |
2400 KB |
Output is partially correct - L* = 38 |
30 |
Partially correct |
24 ms |
2528 KB |
Output is partially correct - L* = 38 |
31 |
Partially correct |
24 ms |
2716 KB |
Output is partially correct - L* = 38 |
32 |
Partially correct |
24 ms |
2392 KB |
Output is partially correct - L* = 38 |
33 |
Partially correct |
24 ms |
2548 KB |
Output is partially correct - L* = 38 |
34 |
Partially correct |
24 ms |
2488 KB |
Output is partially correct - L* = 38 |
35 |
Partially correct |
26 ms |
2404 KB |
Output is partially correct - L* = 38 |
36 |
Partially correct |
24 ms |
2524 KB |
Output is partially correct - L* = 38 |
37 |
Partially correct |
24 ms |
2396 KB |
Output is partially correct - L* = 38 |
38 |
Partially correct |
28 ms |
2492 KB |
Output is partially correct - L* = 38 |
39 |
Partially correct |
24 ms |
2396 KB |
Output is partially correct - L* = 38 |
40 |
Partially correct |
24 ms |
2396 KB |
Output is partially correct - L* = 38 |