제출 #1334742

#제출 시각아이디문제언어결과실행 시간메모리
1334742yf_yusuf코알라 (APIO17_koala)C++20
30 / 100
52 ms464 KiB
#include <bits/stdc++.h>
#include "koala.h"
using namespace std;
int minValue(int N, int W) {
	int B[N]{}, R[N];
	B[0] = 1;
	playRound(B, R);
	int pos = 0;
	for(int i=1; i<N; i++)
		if(R[i] == 0)
			pos = i;
	return pos;
}

int maxValue(int N, int W) {
	int B[N]{}, R[N];
	vector<int> psbl;
	for(int i=0;i<N;i++)
		psbl.push_back(i);
	while(psbl.size() > 1){
		int x = W / psbl.size();
		fill(B, B+N, 0);
		for(auto i : psbl)
			B[i] = x;
		playRound(B, R);
		psbl.clear();
		for(int i=0;i<N;i++){
			if(R[i] > x)
				psbl.push_back(i);
		}
	}
	return psbl[0];
}

int greaterValue(int N, int W) {
	int B[N]{}, R[N];
	int l = 1, r = W / 2;
	while(l<=r){
		int mid = (l + r) >> 1;
		B[0] = B[1] = mid;
		playRound(B, R);
		if(R[0] + R[1] == 0){
			r = mid - 1;
		} else if(R[0] == 0){
			return 1;
		} else if(R[1] == 0){
			return 0;
		} else {
			l = mid + 1;
		}
	}
	return 0;
}

void allValues(int N, int W, int *P) {
    if (W == 2*N) {
        // TODO: Implement Subtask 4 solution here.
        // You may leave this block unmodified if you are not attempting this
        // subtask.
    } else {
        // TODO: Implement Subtask 5 solution here.
        // You may leave this block unmodified if you are not attempting this
        // subtask.
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...