Submission #347553

# Submission time Handle Problem Language Result Execution time Memory
347553 2021-01-13T08:11:16 Z happypotato Koala Game (APIO17_koala) C++17
30 / 100
128 ms 524 KB
#include "koala.h"
#include <bits/stdc++.h>
using namespace std;

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.
    int b[N], r[N];
    b[0] = 1;
    for (int i = 1;i < N;i++) b[i] = 0;
    playRound(b, r);
    if (r[0] < 2) return 0;
    for (int i = 1;i < N;i++) {
    	if (r[i] == 0) 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 b[N], r[N];
    vector<int> v;
    for (int i = 0;i < N;i++) {
    	b[i] = 0;
    	v.push_back(i);
	}
    while (v.size() > 1) {
    	for (int i = 0;i < N;i++) b[i] = 0;
    	for (int i : v) b[i] = W / v.size();
    	playRound(b, r);
    	v.clear();
    	for (int i = 0;i < N;i++) {
    		if (b[i] > 0 && r[i] > b[i]) {
    			v.push_back(i);
			}
		}
	}
	return v[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.
    int b[N], r[N];
    for (int i = 0;i < N;i++) b[i] = 0;
    int lb = 1, rb = 50;
    while (lb <= rb) {
    	int mid = (lb + rb) / 2;
    	b[0] = mid, b[1] = mid;
    	playRound(b, r);
    	if (r[0] <= b[0] && r[1] > b[1]) return 1;
    	else if (r[0] > b[0] && r[1] <= b[1]) return 0;
    	else if (r[0] <= b[0] && r[1] <= b[1]) rb = mid - 1;
    	else if (r[0] > b[0] && r[1] > b[1]) lb = mid + 1;
	}
    return -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 6 ms 364 KB Output is correct
2 Correct 6 ms 364 KB Output is correct
3 Correct 6 ms 364 KB Output is correct
4 Correct 6 ms 364 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 20 ms 364 KB Output is correct
2 Correct 19 ms 364 KB Output is correct
3 Correct 19 ms 364 KB Output is correct
4 Correct 19 ms 364 KB Output is correct
# Verdict Execution time Memory Grader output
1 Partially correct 123 ms 492 KB Output is partially correct
2 Partially correct 124 ms 524 KB Output is partially correct
3 Partially correct 126 ms 364 KB Output is partially correct
4 Partially correct 128 ms 364 KB Output is partially correct
5 Partially correct 128 ms 364 KB Output is partially correct
6 Partially correct 122 ms 364 KB Output is partially correct
7 Partially correct 124 ms 364 KB Output is partially correct
8 Partially correct 123 ms 492 KB Output is partially correct
9 Partially correct 124 ms 364 KB Output is partially correct
10 Partially correct 124 ms 364 KB Output is partially correct
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 364 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 364 KB Output isn't correct
2 Halted 0 ms 0 KB -