Submission #1298728

#TimeUsernameProblemLanguageResultExecution timeMemory
1298728kian2009코알라 (APIO17_koala)C++20
33 / 100
37 ms456 KiB
#include "koala.h"
#include <bits/stdc++.h>
using namespace std;

const int MAXN = 1e2 + 10;

int in[MAXN], out[MAXN];

int minValue(int N, int W) {
    in[0] = 1;
    playRound(in, out);
    for (int i = 1; i < N; i++)
    	if (out[i] == 0)
    		return i;
    return 0;
}

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

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

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...