Submission #466690

#TimeUsernameProblemLanguageResultExecution timeMemory
466690NamnamseoKoala Game (APIO17_koala)C++17
19 / 100
18 ms304 KiB
#include "koala.h"
#include <vector>
#include <numeric>
using namespace std;
using vi=vector<int>;

vi Play(vi q) {
	vi ret(q.size());
	playRound(q.data(), ret.data());
	return ret;
}

int minValue(int N, int W) {
	vi v(N);
	v[0] = 1;
	vi res = Play(v);
	if (res[0] >= 1) res[0] -= 1;
	for (int i=0; i<N; ++i) if (!res[i]) return i;
    return 0;
}

int maxValue(int N, int W) {
	vi larger(N);
	iota(larger.begin(), larger.end(), 0);
	while (larger.size() > 1u) {
		vi mask(N);
		int afford = W / larger.size();
		for (int i:larger) mask[i] = afford;

		auto res = Play(mask);
		vi larger_new;
		for (int i:larger) if (res[i]) larger_new.push_back(i);
		larger = larger_new;
	}
    return larger[0];
}

int greaterValue(int N, int W) {
    // TODO: Implement Subtask 3 solution here.
    // You may leave this function unmodified if you are not attempting this
    // subtask.
    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...