제출 #466675

#제출 시각아이디문제언어결과실행 시간메모리
466675flappybird코알라 (APIO17_koala)C++14
19 / 100
100 ms308 KiB
#include "koala.h"
#include <bits/stdc++.h>
using namespace std;
typedef int ll;

int minValue(int N, int W) {
	int b[100];
	int r[100];
	ll i;
	for (i = 0; i < N; i++) b[i] = 0;
	b[0] = 1;
	playRound(b, r);
	for (i = 0; i < N; i++) {
		if (r[i] == 0) return i;
	}
    return 0;
}

int maxValue(int N, int W) {
	ll b[100];
	ll r[100];
	ll i;
	for (i = 0; i < N; i++) b[i] = 1;
	playRound(b, r);
	ll k = 0;
	while (1) {
		ll cnt = 0;
		ll v = -1;
		for (i = 0; i < N; i++) if (r[i] > k) cnt++, v = i;
		if (cnt == 1) return v;
		for (i = 0; i < N; i++) {
			if (r[i] > k) b[i] = N / cnt;
			else b[i] = 0;
		}
		k = N / cnt;
		playRound(b, r);
	}
    return 0;
}

int greaterValue(int N, int W) {
	ll low, high;
	low = 0, high = N / 2;
	ll i;
	ll b[100], r[100];
	for (i = 0; i < N; i++) b[i] = 0;
	while (low < high) {
		ll mid = (low + high) / 2;
		b[0] = b[1] = mid;
		playRound(b, r);
		if (r[0] > mid && r[1] > mid) low = mid + 1;
		else if (r[0] <= mid && r[1] <= mid) high = mid - 1;
		else {
			if (r[0] > mid) return 0;
			else return 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...