Submission #1223293

#TimeUsernameProblemLanguageResultExecution timeMemory
1223293thangdz2k7Shopping (JOI21_shopping)C++20
10 / 100
65 ms12360 KiB
#include "Anna.h"
#include <bits/stdc++.h>

const int LG = 18;

int n, l, r;

void InitA(int N, int L, int R){
	n = N, l = L, r = R;
	for (int i = 0; i < LG; ++ i)
		SendA((L >> i) & 1);
}

int cnt = 0, res = -1;

void ReceiveA(bool x){
	if (x && l + cnt <= r) res = l + cnt;
	++ cnt;
}

int Answer(){
	return res;
}
#include "Bruno.h"
#include <bits/stdc++.h>

using namespace std;

const int LG = 18;

int l = 0, n;
vector <int> p;

void InitB(int N, vector <int> P){
	p = P; n = N;
}

int cnt = 0;

void ReceiveB(bool y){
	if (y) l |= (1 << cnt);
	cnt ++;

	if (cnt == LG){
		int Min = n + 1;
		for (int i = l; i < n; ++ i){
			if (p[i] < Min) { 
				SendB(1);
				Min = p[i];
			}
			else SendB(0);
		}
	}
}

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...