# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
411951 | alishahali1382 | Broken Device (JOI17_broken_device) | C++14 | 50 ms | 2736 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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];
void Anna(int n, ll x, int k, int P[]){
for (int i=0; i<n; i++) bad[i]=0;
for (int i=0; i<k; i++) bad[P[i]]=1;
string S;
for (int i=0; i<n; i+=3){
if (bad[i]+bad[i+1]+bad[i+2]==0){
int a=(x&1); x>>=1;
int b=(x&1); x>>=1;
if (!a && !b) S+="011";
if (a && !b) S+="101";
if (!a && b) S+="110";
if (a && b) S+="111";
// Set(i, 1^a^b);
// Set(i+1, a);
// Set(i+2, b);
}
else if (bad[i]+bad[i+1]+bad[i+2]==1){
if (bad[i]) S+="000";
else{
int a=(x&1); x>>=1;
if (!a) S+="001";
else S+="010";
}
}
else{
S+="000";
}
}
for (int i=0; i<n; i++) Set(i, S[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;
ll Bruno(int n, int A[]){
vector<int> vec;
int pos=0;
for (int i=0; i<n; i+=3){
string S="";
S+=char('0'+A[i]);
S+=char('0'+A[i+1]);
S+=char('0'+A[i+2]);
if (S=="000") continue ;
if (S=="001") vec.pb(0);
if (S=="010") vec.pb(1);
if (S=="011") vec.pb(0), vec.pb(0);
if (S=="101") vec.pb(1), vec.pb(0);
if (S=="110") vec.pb(0), vec.pb(1);
if (S=="111") vec.pb(1), vec.pb(1);
}
reverse(all(vec));
ll res=0;
for (int x:vec) res=res*2ll+x;
// debug(res)
return res;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |