# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
126508 | briansu | Broken Device (JOI17_broken_device) | C++14 | 43 ms | 3312 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;
#define REP(i, n) for(int i = 0;i < n;i ++)
void Anna( int N, long long X, int K, int P[] ){
vector<ll> v(N, 1);
REP(i, K)v[P[i]] = 0;
ll ct = 0;
ll x = X;
vector<ll> d(N, 0);
REP(i, N)
{
if(ct == 61 || i == N-1)d[i] = 0;
else if(!(x & 1) && v[i])d[i] = 1, d[i + 1] = 0, i ++, ct ++, x /= 2;
else if(v[i] && v[i + 1])d[i] = 1, d[i + 1] = 1, i ++, ct ++, x /= 2;
else d[i] = 0;
}
if(ct != 61)
{
ct = 0, x = X;
REP(i, N)
{
if(ct == 61 || i == N-1)d[i] = 0;
else if((x & 1) && v[i])d[i] = 1, d[i + 1] = 0, i ++, ct ++, x /= 2;
else if(v[i] && v[i + 1])d[i] = 1, d[i + 1] = 1, i ++, ct ++, x /= 2;
else d[i] = 0;
}
}
REP(i, N)Set(i, d[i]);
}
#include "Brunolib.h"
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define REP(i, n) for(int i = 0;i < n;i ++)
long long Bruno( int N, int A[] ){
ll n = N;
ll tt = 0, t = 1;
REP(i, n)if(A[i])tt += t * A[i + 1], t *= 2, i ++;
if(tt & (1LL<<60))tt ^= ((1LL<<61) - 1);
return tt;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |