제출 #1158409

#제출 시각아이디문제언어결과실행 시간메모리
1158409aligay100infaShopping (JOI21_shopping)C++20
10 / 100
65 ms12368 KiB
#include "Anna.h"
#include <iostream>
#include <vector>

using namespace std;

namespace {

int n, l, r, k, cnt, ans, idx, a[1000001], b[100001];

void send(int x) {
  for (int i = 0; i < 14; i++) SendA((x >> i) & 1);
}

}  // namespace

void InitA(int N, int L, int R) {
  n = N;
  l = L;
  r = R;
  idx = l;
  send(l);
}


void ReceiveA(bool x) {
  if (x && idx <= r) {
    ans = idx;
  }
  idx++;
}

int Answer() {
  // printf("my ans %d\n", ans);
  return ans;
}


/*
cd shopping
g++ grader.cpp Anna.cpp Bruno.cpp -o grader
.\grader.exe
*/
#include "Bruno.h"
#include <iostream>
#include <vector>

using namespace std;

namespace {

int n, a[1000001], cnt, l, r, k, idx, b[3];

}  // namespace


void InitB(int N, std::vector<int> P) {
  n = N;
  for(int i = 0; i < N; i++) {
    a[i] = P[i];
  }
  cnt = 0;
  k = 1;
  idx = 0;
}

void solve() {
  SendB(true);
  int mn = l;
  for (int i = l + 1; i <= n; i++) {
    if (a[i] < a[mn]) {
      SendB(true);
      mn = i;
    } else {
      SendB(false);
    }
  }
}

void ReceiveB(bool y) {
  l |= y << cnt;
  cnt++;
  if (cnt == 14) {
    solve();
  }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...