Submission #100084

#TimeUsernameProblemLanguageResultExecution timeMemory
100084dantoh000Broken Device (JOI17_broken_device)C++14
85 / 100
65 ms3312 KiB
#include "Annalib.h" #include <bits/stdc++.h> using namespace std; void Anna( int N, long long X, int K, int P[] ){ //printf("anna"); bool isbroken[N]; memset(isbroken,0,sizeof(isbroken)); for (int i = 0; i < K; i++){ isbroken[P[i]] = true; } int s = 0; while (X && s < N){ if (isbroken[s]||isbroken[s+1]){ Set(s,0); Set(s+1,0); } else{ //printf("%d",X%2); if (X % 3 == 1){ Set(s,0); Set(s+1,1); } else if (X % 3 == 2){ Set(s,1); Set(s+1,0); } else{ Set(s,1); Set(s+1,1); } X /= 3; } s+=2; } for (int i = s; i < N; i++){ Set(i,0); } //printf("\n"); }
#include "Brunolib.h" #include <bits/stdc++.h> using namespace std; long long Bruno( int N, int A[] ){ //printf("bruno"); long long ans = 0ll; int s = 0; int num = 0; stack<int> st; while (s<N){ if (A[s] || A[s+1]){ num++; //printf("%d",(A[s]^A[e])); st.push(A[s]*2+A[s+1]); } s+=2; } while (st.size()){ //printf("%d",st.top()); ans*=3; ans+=(st.top()%3); st.pop(); } //printf("\n%lld\n",ans); return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...