Submission #1144691

#TimeUsernameProblemLanguageResultExecution timeMemory
1144691SulABroken Device (JOI17_broken_device)C++20
85 / 100
20 ms1588 KiB
#include <bits/stdc++.h> #include "Annalib.h" using namespace std; void Anna( int N, long long X, int K, int P[] ){ bool bad[N],st[N+1]; st[N]=1; for(int i=0;i<N;i++){ bad[i]=0; st[i]=0; } for(int i=0;i<K;i++){ bad[P[i]]=1; } long long bit[38],cnt=0; for(int i=0;i<38;i++)bit[i]=0; while(X>0){ bit[cnt]=X%3; X/=3; cnt++; } cnt=0; for( int i = 1; i < N; i+=2){ if(!bad[i] && !bad[i-1] && cnt<38){ if(bit[cnt]==0){ Set(i-1,1); Set(i,0); } if(bit[cnt]==1){ Set(i-1,0); Set(i,1); } if(bit[cnt]==2){ Set(i-1,1); Set(i,1); } cnt++; } else{ Set(i-1,0); Set(i,0); } } }
#include <bits/stdc++.h> #include "Brunolib.h" using namespace std; long long Bruno( int N, int A[] ){ long long ans=0,p=1; for(int i=1;i<N;i+=2){ if(A[i]==1 || A[i-1]==1){ if(A[i]==1 && A[i-1]==1)ans+=2*p; else if(A[i]==1)ans+=p; p*=3; } } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...