| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1337888 | boclobanchat | Broken Device (JOI17_broken_device) | C++20 | 0 ms | 0 KiB |
#include"Annalib.h"
#include<bits/stdc++.h>
using namespace std;
const long long INF=1e18+9;
bool ck[222],ans[222];
bool f(int N,long long val)
{
for(int i=0;i<N;i+=2)
{
int res=2*(!ck[i])+(!ck[i+1]);
if((res&((val%3)+1))==val%3+1) ans[i]=(val%3+1)/2,ans[i+1]=(val%3+1)%2,val/=3;
else ans[i]=ans[i+1]=0;
if(val==0) break;
}
return (val==0);
}
void Anna(int N,long long X,int K,int P[])
{
for(int i=0;i<K;i++) ck[P[i]]=true;
for(int t=0;t<=3;t++) if(f(N,X+INF)) break;
for(int i=0;i<N;i++) Set(i,ans[i]);
for(int i=0;i<N;i++) ck[i]=ans[i]=false;
}#include"Brunolib.h"
#include<bits/stdc++.h>
using namespace std;
long long Bruno(int N,int A[])
{
long long ans=0;
for(int i=N-2;i>=0;i-=2)
{
int res=A[i]*2+A[i+1];
if(res) ans=ans*3+res-1;
}
return ans%INF;
}