# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
310984 | Lawliet | Broken Device (JOI17_broken_device) | C++14 | 56 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;
const int MAXN = 200;
int ord[MAXN];
bool blocked[MAXN];
void Anna(int N, long long X, int K, int P[])
{
srand( 4327832 );
iota( ord , ord + N , 0 );
random_shuffle( ord , ord + N );
memset( blocked , false , sizeof(blocked) );
for(int i = 0 ; i < K ; i++)
blocked[ P[i] ] = true;
for(int i = 0 ; i < N ; i += 2)
{
if( blocked[ ord[i] ] )
{
Set( ord[i] , 0 ); Set( ord[i + 1] , 0 );
continue;
}
if( X%2 == 1 && blocked[ ord[i + 1] ] )
{
Set( ord[i] , 0 ); Set( ord[i + 1] , 0 );
continue;
}
Set( ord[i] , 1 ); Set( ord[i + 1] , X%2 ); X /= 2;
}
}
#include "Brunolib.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long int lli;
const int MAXN = 200;
int orD[MAXN];
long long Bruno(int N, int A[])
{
srand( 4327832 );
iota( orD , orD + N , 0 );
random_shuffle( orD , orD + N );
lli ans = 0;
for(int i = N - 2 ; i >= 0 ; i -= 2)
if( A[ orD[i] ] == 1 ) ans *= 2, ans += A[ orD[i + 1] ];
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |