Submission #412058

# Submission time Handle Problem Language Result Execution time Memory
412058 2021-05-26T12:50:41 Z alishahali1382 Broken Device (JOI17_broken_device) C++14
85 / 100
63 ms 2396 KB
#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