제출 #100088

#제출 시각아이디문제언어결과실행 시간메모리
100088oolimryBroken Device (JOI17_broken_device)C++14
0 / 100
69 ms3312 KiB
#include "Annalib.h" #include <bits/stdc++.h> using namespace std; void Anna( int N, long long X, int K, int P[] ){ set<int> bad; for(int i = 0;i < K;i++){ bad.insert(P[i]); } int ter[36]; for(int i = 0;i < 36;i++){ ter[i] = X % 3; X /= 3; //cout << ter[i] << " "; } //cout << "\n"; int c = 0; for(int i = 0;i < N;i++){ if(i % 2 == 0) continue; else{ if(bad.find(i) != bad.end() || bad.find(i-1) != bad.end()){ Set(i,0); Set(i-1,0); } else{ if(c == 36){ Set(i-1,0); Set(i,0); } else{ if(ter[c] == 0){ Set(i-1,0); Set(i,1); } else if(ter[c] == 1){ Set(i-1,1); Set(i,0); } else{ Set(i-1,1); Set(i,1); } c++; } } } } }
#include "Brunolib.h" #include <bits/stdc++.h> using namespace std; long long Bruno( int N, int A[] ){ long long ans = 0ll; int ter[36]; int c = 0; for(int i = 0;i < N;i++){ if(i % 2 == 0) continue; else{ int a = A[i-1]; int b = A[i]; if(a == 0 && b == 0){ continue; } else{ if(a == 0 && b == 1){ ter[c] = 0; } else if(a == 1 && b == 0){ ter[c] = 1; } else{ ter[c] = 2; } c++; } } } for(int i = 0;i < 36;i++){ //ter[i] = X % 3; // X /= 3; //cout << ter[i] << " "; } for(int i = 35;i >= 0;i--){ ans *= 3; ans += ter[i]; } //cout << "\n" << ans; return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...