Submission #1325346

#TimeUsernameProblemLanguageResultExecution timeMemory
1325346adiyerKoala Game (APIO17_koala)C++20
37 / 100
33 ms456 KiB
#include "koala.h"
#include <bits/stdc++.h>

using namespace std;

int minValue(int n, int w) {
    int b[n], r[n];
    memset(b, 0, sizeof(b));
    b[0] = 1;
    playRound(b, r);
    for(int i = 0; i < n; i++)
        if(r[i] == 0)
            return i;
    memset(b, 0, sizeof(b));
    b[1] = 1;
    playRound(b, r);
    for(int i = 0; i < n; i++)
        if(r[i] == 0)
            return i;
    return 0;
}

int maxValue(int n, int w) {
    int b[n], r[n];
    memset(b, 0, sizeof(b));
    for(int i = 0; i < n; i++) 
        b[i] = 1;
    playRound(b, r);
    memset(b, 0, sizeof(b));
    for(int i = 0; i < n; i++)
        if(r[i] > 1)
            b[i] = 2;
    playRound(b, r);
    memset(b, 0, sizeof(b));
    for(int i = 0; i < n; i++)
        if(r[i] > 1)
            b[i] = 4;
    playRound(b, r);
    memset(b, 0, sizeof(b));
    for(int i = 0; i < n; i++)
        if(r[i] > 1)
            b[i] = 11;
    playRound(b, r);
    for(int i = 0; i < n; i++)
        if(r[i] > 1)
            return i;
    return 0;
}

int greaterValue(int n, int w) {
    int b[n], r[n];
    // 1 <= a[0], a[1] <= 100
    memset(b, 0, sizeof(b));
    b[0] = b[1] = 5;
    playRound(b, r);
    if(r[0] > 5 && r[1] <= 5) return 0;
    if(r[0] <= 5 && r[1] > 5) return 1;
    if(r[0] <= 5 && r[1] <= 5){
        // a[0], a[1] <= 10
        memset(b, 0, sizeof(b));
        b[0] = b[1] = 3;
        playRound(b, r);
        if(r[0] > 3 && r[1] <= 3) return 0;
        if(r[0] <= 3 && r[1] > 3) return 1;
        memset(b, 0, sizeof(b));
        b[0] = b[1] = 1;
        playRound(b, r);
        if(r[0] > 1 && r[1] <= 1) return 0;
        if(r[0] <= 1 && r[1] > 1) return 1;
    }

    if(r[0] > 5 && r[1] > 5){
        memset(b, 0, sizeof(b));
        b[0] = b[1] = 8;
        playRound(b, r);
        if(r[0] > 8 && r[1] <= 8) return 0;
        if(r[0] <= 8 && r[1] > 8) 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...