Submission #1180052

#TimeUsernameProblemLanguageResultExecution timeMemory
1180052n3rm1nKoala Game (APIO17_koala)C++20
37 / 100
37 ms460 KiB
#include "koala.h"
#include <bits/stdc++.h>
#define pb push_back
using namespace std;
int minValue(int N, int W)
{
    int n = N;
    int b[N+1], r[N+1];
    for (int i = 0; i < N; ++ i)
    {
        b[i] = 0;
        r[i] = 0;
    }

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

    return 0;
}

int maxValue(int N, int W)
{
    int n = N;
    int b[n+1], r[n+1];
    vector < int > pot;
    for (int i = 0; i < n; ++ i)
        pot.pb(i);
    while(pot.size() > 1)
    {
        int dajba = n/pot.size();
        for (int i = 0; i < n; ++ i)
        {
            b[i] = 0;
            r[i] = 0;
        }
        for (auto x: pot)
            b[x] = dajba;
        playRound(b, r);
        vector < int > newpot;
        for (auto taken: pot)
            if(r[taken])newpot.pb(taken);
        pot = newpot;

    }
    return pot[0];
}

int greaterValue(int N, int W)
{
    int n = N;
    int b[N], r[N];
    int l = 0, ri = 9, mid;
    while(l <= ri)
    {
        mid = (l + ri)/2;
        for (int i = 0; i < n; ++ i)
        {
            b[i] = 0;
            r[i] = 0;
        }
        b[0] = b[1] = mid;
        playRound(b, r);
        if(r[0] == r[1])
        {
            if(r[0])l = mid + 1;
            else ri = mid - 1;
        }
        else if(r[0])return 0;
        else return 1;

    }
    // 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 {
        // TO: 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...