# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1078974 | veehj | Broken Device (JOI17_broken_device) | C++17 | 33 ms | 3260 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>
using namespace std;
typedef long long ll;
typedef long double ld;
#define F first
#define S second
#define pb push_back
#define sz(a) (ll) a.size()
#define all(x) (x).begin(), (x).end()
void Anna( int N, long long X, int K, int P[] ){
set<int> err={};
ll x=X;
for(int i=0; i<K; i++) err.insert(P[i]);
for(int i=0; i<N; i+=3){
int cnt=err.count(i)+err.count(i+1)+err.count(i+2);
if(cnt>=2 || x==0){
Set(i, 0), Set(i+1, 0), Set(i+2, 0);
continue;
}
if(cnt==0){
int mre=x%4;
x/=4;
if(mre==0) Set(i, 1), Set(i+1, 0), Set(i+2, 0);
if(mre==1) Set(i, 0), Set(i+1, 1), Set(i+2, 1);
if(mre==2) Set(i, 1), Set(i+1, 0), Set(i+2, 1);
if(mre==3) Set(i, 1), Set(i+1, 1), Set(i+2, 1);
}
if(cnt==1){
if(x%2){
if(err.count(i+2)) Set(i, 1), Set(i+1, 1), Set(i+2, 0);
else Set(i, 0), Set(i+1, 0), Set(i+2, 1);
x/=2;
} else {
if(err.count(i+1)){
int mre=x%4;
x/=4;
if(mre==0) Set(i, 1), Set(i+1, 0), Set(i+2, 0);
if(mre==2) Set(i, 1), Set(i+1, 0), Set(i+2, 1);
} else {
Set(i, 0), Set(i+1, 1), Set(i+2, 0);
x/=2;
}
}
}
}
}
#include "Brunolib.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
#define F first
#define S second
#define pb push_back
#define sz(a) (ll) a.size()
#define all(x) (x).begin(), (x).end()
long long Bruno( int N, int A[] ){
ll ans=0;
stack<int> st;
for(int i=0; i<N; i+=3){
int curr=A[i]*4+A[i+1]*2+A[i+2];
if(curr==0) continue;
if(curr==1) st.push(1);
if(curr==2) st.push(0);
if(curr==3) st.push(1), st.push(0);
if(curr==4) st.push(0), st.push(0);
if(curr==5) st.push(0), st.push(1);
if(curr==6) st.push(1);
if(curr==7) st.push(1), st.push(1);
}
while(!st.empty()){
ans*=2;
ans+=st.top();
st.pop();
}
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |