#include "Annalib.h"
#include <bits/stdc++.h>
#pragma GCC optimize ("O2,unroll-loops")
//#pragma GCC optimize("no-stack-protector,fast-math")
//#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
using namespace std;
typedef long long ll;
typedef long double ld;
typedef pair<int, int> pii;
typedef pair<pii, int> piii;
typedef pair<ll, ll> pll;
#define debug(x) cerr<<#x<<'='<<(x)<<endl;
#define debugp(x) cerr<<#x<<"= {"<<(x.first)<<", "<<(x.second)<<"}"<<endl;
#define debug2(x, y) cerr<<"{"<<#x<<", "<<#y<<"} = {"<<(x)<<", "<<(y)<<"}"<<endl;
#define debugv(v) {cerr<<#v<<" : ";for (auto x:v) cerr<<x<<' ';cerr<<endl;}
#define all(x) x.begin(), x.end()
#define pb push_back
#define kill(x) return cout<<x<<'\n', 0;
const int inf=1000000010;
const ll INF=1000000000000001000LL;
const int mod=1000000007;
const int MAXN=210, LOG=60;
int bad[MAXN], shit[MAXN];
int P[MAXN];
void Anna(int n, ll x, int k, int A[]){
iota(P, P+n, 0);
for (int i=1; i<4; i++) swap(P[i], P[4*i/5]);
P[0]=3;
P[1]=0;
P[2]=1;
P[3]=2;
for (int i=0; i<n; i++) bad[i]=0;
for (int i=0; i<k; i++) bad[P[A[i]]]=1;//, shit[A[i]]=1;
string S;
for (int i=0; i<n; i+=2){
if (bad[i]+bad[i+1]==0){
ll y=x%3;
x/=3;
// debug(y)
if (y==0) S+="01";
if (y==1) S+="10";
if (y==2) S+="11";
}
else{
S+="00";
}
}
for (int i=0; i<n; i++) Set(i, S[P[i]]-'0');//, assert(!shit[i] || S[P[i]]=='0');
// debug(S)
return ;
}
#include "Brunolib.h"
#include <bits/stdc++.h>
#pragma GCC optimize ("O2,unroll-loops")
//#pragma GCC optimize("no-stack-protector,fast-math")
using namespace std;
typedef long long ll;
typedef long double ld;
typedef pair<int, int> pii;
typedef pair<pii, int> piii;
typedef pair<ll, ll> pll;
#define debug(x) cerr<<#x<<'='<<(x)<<endl;
#define debugp(x) cerr<<#x<<"= {"<<(x.first)<<", "<<(x.second)<<"}"<<endl;
#define debug2(x, y) cerr<<"{"<<#x<<", "<<#y<<"} = {"<<(x)<<", "<<(y)<<"}"<<endl;
#define debugv(v) {cerr<<#v<<" : ";for (auto x:v) cerr<<x<<' ';cerr<<endl;}
#define all(x) x.begin(), x.end()
#define pb push_back
#define kill(x) return cout<<x<<'\n', 0;
const int inf=1000000010;
const ll INF=1000000000000001000LL;
const int mod=1000000007;
const int MAXN=210, LOG=60;
int PP[MAXN], QQ[MAXN];
int A[MAXN];
ll Bruno(int n, int B[]){
iota(PP, PP+n, 0);
for (int i=1; i<4; i++) swap(PP[i], PP[(4*i)/5]);
PP[0]=3;
PP[1]=0;
PP[2]=1;
PP[3]=2;
for (int i=0; i<n; i++) QQ[PP[i]]=i;
string T="";
for (int i=0; i<n; i++) A[i]=B[QQ[i]], T+=char('0'+A[i]);
// debug(T)
vector<int> vec;
int pos=0;
for (int i=0; i<n; i+=2){
string S="";
S+=char('0'+A[i]);
S+=char('0'+A[i+1]);
if (S=="00") continue ;
if (S=="01") vec.pb(0);
if (S=="10") vec.pb(1);
if (S=="11") vec.pb(2);
}
reverse(all(vec));
ll res=0;
for (int x:vec) res=res*3ll+x;
return res;
}
Compilation message
Bruno.cpp: In function 'll Bruno(int, int*)':
Bruno.cpp:41:6: warning: unused variable 'pos' [-Wunused-variable]
41 | int pos=0;
| ^~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Partially correct |
50 ms |
2276 KB |
Output is partially correct - L* = 37 |
2 |
Partially correct |
47 ms |
2300 KB |
Output is partially correct - L* = 37 |
3 |
Partially correct |
47 ms |
2356 KB |
Output is partially correct - L* = 37 |
4 |
Partially correct |
59 ms |
2204 KB |
Output is partially correct - L* = 37 |
5 |
Partially correct |
47 ms |
2304 KB |
Output is partially correct - L* = 37 |
6 |
Partially correct |
50 ms |
2368 KB |
Output is partially correct - L* = 37 |
7 |
Partially correct |
51 ms |
2332 KB |
Output is partially correct - L* = 37 |
8 |
Partially correct |
57 ms |
2252 KB |
Output is partially correct - L* = 37 |
9 |
Partially correct |
48 ms |
2232 KB |
Output is partially correct - L* = 37 |
10 |
Partially correct |
63 ms |
2324 KB |
Output is partially correct - L* = 37 |
11 |
Partially correct |
50 ms |
2176 KB |
Output is partially correct - L* = 37 |
12 |
Partially correct |
47 ms |
2284 KB |
Output is partially correct - L* = 37 |
13 |
Partially correct |
48 ms |
2260 KB |
Output is partially correct - L* = 37 |
14 |
Partially correct |
47 ms |
2264 KB |
Output is partially correct - L* = 37 |
15 |
Partially correct |
50 ms |
2328 KB |
Output is partially correct - L* = 37 |
16 |
Partially correct |
47 ms |
2240 KB |
Output is partially correct - L* = 37 |
17 |
Partially correct |
50 ms |
2152 KB |
Output is partially correct - L* = 37 |
18 |
Partially correct |
48 ms |
2212 KB |
Output is partially correct - L* = 37 |
19 |
Partially correct |
49 ms |
2280 KB |
Output is partially correct - L* = 37 |
20 |
Partially correct |
48 ms |
2284 KB |
Output is partially correct - L* = 37 |
21 |
Partially correct |
47 ms |
2248 KB |
Output is partially correct - L* = 37 |
22 |
Partially correct |
47 ms |
2328 KB |
Output is partially correct - L* = 37 |
23 |
Partially correct |
47 ms |
2328 KB |
Output is partially correct - L* = 37 |
24 |
Partially correct |
47 ms |
2204 KB |
Output is partially correct - L* = 37 |
25 |
Partially correct |
53 ms |
2328 KB |
Output is partially correct - L* = 37 |
26 |
Partially correct |
50 ms |
2268 KB |
Output is partially correct - L* = 37 |
27 |
Partially correct |
49 ms |
2292 KB |
Output is partially correct - L* = 37 |
28 |
Partially correct |
49 ms |
2244 KB |
Output is partially correct - L* = 37 |
29 |
Partially correct |
49 ms |
2360 KB |
Output is partially correct - L* = 37 |
30 |
Partially correct |
48 ms |
2236 KB |
Output is partially correct - L* = 37 |
31 |
Partially correct |
48 ms |
2264 KB |
Output is partially correct - L* = 37 |
32 |
Partially correct |
48 ms |
2396 KB |
Output is partially correct - L* = 37 |
33 |
Partially correct |
53 ms |
2244 KB |
Output is partially correct - L* = 37 |
34 |
Partially correct |
49 ms |
2364 KB |
Output is partially correct - L* = 37 |
35 |
Partially correct |
53 ms |
2256 KB |
Output is partially correct - L* = 37 |
36 |
Partially correct |
48 ms |
2316 KB |
Output is partially correct - L* = 37 |
37 |
Partially correct |
47 ms |
2360 KB |
Output is partially correct - L* = 37 |
38 |
Partially correct |
47 ms |
2344 KB |
Output is partially correct - L* = 37 |
39 |
Partially correct |
47 ms |
2204 KB |
Output is partially correct - L* = 37 |
40 |
Partially correct |
48 ms |
2284 KB |
Output is partially correct - L* = 37 |