# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
204783 | balbit | Broken Device (JOI17_broken_device) | C++14 | 62 ms | 3320 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
#include "Annalib.h"
void Anna( int N, long long X, int K, int P[] ){
vector<int> bad(N);
for (int i = 0; i<K; i++) bad[P[i]] = 1;
vector<int> p = {110,51,11,69,119,142,17,109,26,101,115,39,108,2,75,56,59,18,32,116,143,86,57,133,14,42,27,136,104,58,30,96,13,68,130,114,71,102,9,139,66,80,103,79,89,81,106,0,134,41,88,28,52,43,16,60,49,105,149,132,29,112,141,45,53,76,8,33,37,15,25,55,70,31,82,47,111,107,90,117,23,122,77,19,126,44,120,131,97,1,38,95,4,21,137,5,121,65,135,144,7,138,64,148,140,100,73,10,83,113,92,48,61,127,87,67,40,124,63,129,93,78,74,54,34,123,85,36,6,24,3,125,72,145,94,50,62,146,98,22,118,128,35,91,46,12,99,84,20,147};
vector<int> pr(N);
for (int i = 0; i<N; i++) {
pr[p[i]] = i;
}
vector<int> ans (N);
for (int i = 0; i<N; i+=2) {
int a = p[i], b = p[i+1];
int x3 = X%3;
int A = x3 == 1 || x3 == 2, B = x3 == 0 || x3 == 2;
if (A && bad[a]) continue;
if (B && bad[b]) continue;
if (A) ans[a] = 1;
if (B) ans[b] = 1;
X/=3;
}
for (int i = 0; i<N; i++){
Set(i,ans[i]);
}
}
#include <bits/stdc++.h>
#define ll long long
using namespace std;
#include "Brunolib.h"
long long Bruno( int N, int A[] ){
vector<int> p = {110,51,11,69,119,142,17,109,26,101,115,39,108,2,75,56,59,18,32,116,143,86,57,133,14,42,27,136,104,58,30,96,13,68,130,114,71,102,9,139,66,80,103,79,89,81,106,0,134,41,88,28,52,43,16,60,49,105,149,132,29,112,141,45,53,76,8,33,37,15,25,55,70,31,82,47,111,107,90,117,23,122,77,19,126,44,120,131,97,1,38,95,4,21,137,5,121,65,135,144,7,138,64,148,140,100,73,10,83,113,92,48,61,127,87,67,40,124,63,129,93,78,74,54,34,123,85,36,6,24,3,125,72,145,94,50,62,146,98,22,118,128,35,91,46,12,99,84,20,147};
vector<int> pr(N);
for (int i = 0; i<N; i++) {
pr[p[i]] = i;
}
ll X = 0;
ll p3 = 1;
for (int i = 0; i<N; i+=2) {
int a = p[i], b = p[i+1];
if (A[a] || A[b]) {
ll x3 = 2*A[a] + A[b] -1;
X+=p3 * x3;
p3 *= 3;
}
}
return X;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |