#include "Joi.h"
#include <bits/stdc++.h>
using namespace std;
void Joi(int N, int M, int A[], int B[], long long X, int T) {
    for (int j = 0; j < N; j += 60) {
        for(int i = 0; i < 60 && i + j < N; i++){
            MessageBoard(i + j, ((X >> i) & 1));
        }
    }
}
#include "Ioi.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
int n, m, st;
vector<vector<int>> g;
vector<int> val;
vector<bool> vis;
void dfs(int node) {
    vis[node] = true;
    for (auto next: g[node]) {
        if (vis[next]) continue;
        val[next] = Move(next);
        dfs(next);
        Move(node);
    }
}
ll Ioi(int N, int M, int A[], int B[], int P, int V, int T) {
    n = N;
    m = M;
    int st = P;
    int prev = max(0, st / 60 - 1) * 60;
    int after = prev + 60 - 1;
    vector<int> vals(n, -1);
    vals[st] = V;
    while (st > prev) {
        vals[st - 1] = Move(st-1);
        st--;
    }
    while (st < after) {
        vals[st + 1] = Move(st+1);
        st++;
    }
    ll x = 0;
    for (int i = prev; i <= after; i++) {
        x |= ((ll)vals[i] << (i - prev));
    }
    return x;
    /*
    g.resize(n);
    for (int i = 0; i < m; i++) {
        int u = A[i], v = B[i];
        g[u].push_back(v);
        g[v].push_back(u);
    }
    val.assign(n, -1);
    vis.assign(n, false);
    st = P;
    val[st] = V;
    dfs(st);
    ll ans = 0;
    for (int i = 0; i < 60; i++) {
        ans |= ((ll)val[i] << (i));
    }
    return ans;*/
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |