Submission #732609

# Submission time Handle Problem Language Result Execution time Memory
732609 2023-04-29T06:40:09 Z SanguineChameleon Koala Game (APIO17_koala) C++17
37 / 100
76 ms 448 KB
#include "koala.h"
#include <bits/stdc++.h>
using namespace std;

int B[120];
int R[120];

int minValue(int N, int W) {
	// TODO: Implement Subtask 1 solution here.
	// You may leave this function unmodified if you are not attempting this
	// subtask.
	B[0] = 1;
	for (int i = 1; i < N; i++) {
		B[i] = 0;
	}
	playRound(B, R);
	for (int i = 0; i < N; i++) {
		if (R[i] <= B[i]) {
			return i;
		}
	}
	return -1;
}

int maxValue(int N, int W) {
	// TODO: Implement Subtask 2 solution here.
	// You may leave this function unmodified if you are not attempting this
	// subtask.
	int cnt = N;
	for (int i = 0; i < N; i++) {
		B[i] = 1;
	}
	while (cnt > 1) {
		for (int i = 0; i < N; i++) {
			if (B[i] == 1) {
				B[i] = W / cnt;
			}
		}
		playRound(B, R);
		cnt = 0;
		for (int i = 0; i < N; i++) {
			B[i] = (B[i] > 0 && R[i] > B[i]);
			cnt += B[i];
		}
	}
	for (int i = 0; i < N; i++) {
		if (B[i] == 1) {
			return i;
		}
	}
	return -1;
}

int greaterValue(int N, int W, int x, int y) {
	// TODO: Implement Subtask 3 solution here.
	// You may leave this function unmodified if you are not attempting this
	// subtask.
	vector<int> vals = {2, 4, 8};
	for (auto v: vals) {
		for (int i = 0; i < N; i++) {
			B[i] = 0;
		}
		B[x] = v;
		B[y] = v;
		playRound(B, R);
		if ((R[0] > B[0]) != (R[1] > B[1])) {
			if (R[0] > B[0]) {
				return 0;
			}
			else {
				return 1;
			}
		}
		else {
			if (v == 2 && R[0] <= B[0]) {
				return minValue(N, W) ^ 1;
			}
		}
	}
	return -1;
}

int greaterValue(int N, int W) {
	return greaterValue(N, W, 0, 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 time Memory Grader output
1 Correct 3 ms 208 KB Output is correct
2 Correct 4 ms 208 KB Output is correct
3 Correct 4 ms 208 KB Output is correct
4 Correct 4 ms 208 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 11 ms 208 KB Output is correct
2 Correct 11 ms 208 KB Output is correct
3 Correct 12 ms 324 KB Output is correct
4 Correct 12 ms 320 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 76 ms 324 KB Output is correct
2 Correct 75 ms 328 KB Output is correct
3 Correct 72 ms 320 KB Output is correct
4 Correct 76 ms 332 KB Output is correct
5 Correct 72 ms 332 KB Output is correct
6 Correct 73 ms 448 KB Output is correct
7 Correct 75 ms 316 KB Output is correct
8 Correct 73 ms 448 KB Output is correct
9 Correct 71 ms 328 KB Output is correct
10 Correct 70 ms 336 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 208 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 208 KB Output isn't correct
2 Halted 0 ms 0 KB -