제출 #530890

#제출 시각아이디문제언어결과실행 시간메모리
530890qwerasdfzxclBroken Device (JOI17_broken_device)C++14
85 / 100
41 ms2704 KiB
#include "Annalib.h"
#include <bits/stdc++.h>

using namespace std;
typedef long long ll;

static int a[] = {129,48,5,4,93,120,79,139,58,46,10,12,20,127,66,147,116,13,16,114,15,69,67,39,52,19,73,98,102,95,128,36,23,1,83,144,2,77,45,68,38,0,86,37,62,122,11,126,14,132,27,113,49,135,30,55,94,104,90,84,108,112,123,137,70,44,75,59,149,56,60,85,78,51,76,143,40,99,57,41,115,8,96,121,134,110,3,74,63,50,101,26,42,118,125,117,61,140,33,35,65,106,25,119,82,124,6,138,103,80,7,107,18,136,28,22,71,64,146,111,88,34,145,47,142,17,9,29,87,133,32,31,89,21,100,131,105,141,97,130,54,43,53,72,109,92,81,24,148,91};

void Anna( int N, long long X, int K, int P[] ){
    bool chk[150] = {0};
    for (int i=0;i<K;i++) chk[P[i]] = 1;
    for (int i=0;i<150;i+=2){
        if (chk[a[i]] || chk[a[i+1]]) {Set(a[i], 0); Set(a[i+1], 0);}
        else {
            if (X%3==0) {Set(a[i], 0); Set(a[i+1], 1);}
            else if (X%3==1) {Set(a[i], 1); Set(a[i+1], 0);}
            else {Set(a[i], 1); Set(a[i+1], 1);}
            X /= 3;
        }
    }
}
#include "Brunolib.h"
#include <bits/stdc++.h>

using namespace std;
typedef long long ll;

static int a[] = {129,48,5,4,93,120,79,139,58,46,10,12,20,127,66,147,116,13,16,114,15,69,67,39,52,19,73,98,102,95,128,36,23,1,83,144,2,77,45,68,38,0,86,37,62,122,11,126,14,132,27,113,49,135,30,55,94,104,90,84,108,112,123,137,70,44,75,59,149,56,60,85,78,51,76,143,40,99,57,41,115,8,96,121,134,110,3,74,63,50,101,26,42,118,125,117,61,140,33,35,65,106,25,119,82,124,6,138,103,80,7,107,18,136,28,22,71,64,146,111,88,34,145,47,142,17,9,29,87,133,32,31,89,21,100,131,105,141,97,130,54,43,53,72,109,92,81,24,148,91};

long long Bruno( int N, int A[] ){
    ll ans = 0;
    for (int i=148;i>=0;i-=2){
        if (!A[a[i]] && !A[a[i+1]]) continue;
        ans *= 3;
        if (A[a[i]]==0 && A[a[i+1]]==1) ans += 0;
        else if (A[a[i]]==1 && A[a[i+1]]==0) ans += 1;
        else ans += 2;
    }
    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...