제출 #1363352

#제출 시각아이디문제언어결과실행 시간메모리
1363352solution6312Broken Device (JOI17_broken_device)C++17
41 / 100
13 ms1572 KiB
#include "Annalib.h"
#include <iostream>
#include <cassert>
using namespace std;
using ll=long long;

void Set(int pos, int bit);

const int MN=150;
int f[MN];

void Anna(int N, ll X, int K, int P[])
{
    assert(N==150);
    for (int i=0; i<150; i++) f[i]=1;
    for (int i=0; i<K; i++) f[P[i]]=0;
    int cnt=0;
    for (int i=0; i<150; i+=2)
    {
        if (!f[i] || !f[i+1] || cnt==60)
        {
            Set(i, 0);
            Set(i+1, 0);
        }
        else
        {
            Set(i, 1);
            Set(i+1, ((X>>cnt)&1));
            cnt++;
        }
    }
}
#include "Brunolib.h"
#include <iostream>
#include <cassert>
using namespace std;
using ll=long long;

ll Bruno(int N, int A[])
{
    assert(N==150);
    int cnt=0; ll ans=0;
    for (int i=0; i<150; i+=2)
    {
        if (!A[i]) continue;
        //cerr<<"HERE"<<endl;
        if (A[i+1])
        {
            assert(cnt<60);
            ans^=(1ll<<cnt);
            //cerr<<ans<<endl;
        }
        cnt++;
    }
    return ans;
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…