Submission #156536

#TimeUsernameProblemLanguageResultExecution timeMemory
156536Alexa2001Koala Game (APIO17_koala)C++17
26 / 100
46 ms504 KiB
#include "koala.h"
#include <bits/stdc++.h>

using namespace std;

const int Nmax = 105;
int a[Nmax], b[Nmax];

int minValue(int N, int W)
{
    int i;
    for(i=1; i<N; ++i) a[i] = 0;
    a[1] = 1;

    int id;
    playRound(a, b);

    for(i=0; i<N; ++i)
        if(b[i] < a[i] + 1)
            id = i;
    return id;
}

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.
    return 0;
}

bool cmp(int x, int y) /// 1 daca x < y;
{
    if(x == y) return 0;

    int l = 1, r = 9, mid;
    while(1)
    {
        mid = (l + r) / 2;

        int i;
        for(i=0; i<100; ++i) a[i] = ((i == x || i == y) ? mid : 0);

        playRound(a, b);

        bool X, Y;
        X = b[x] > a[x];
        Y = b[y] > a[y];

        if(X ^ Y)
            return Y;

        if(!X) r = mid - 1;
            else l = mid + 1;
    }
    assert(0);
}

bool cmp2(int x, int y)
{
    int i;
    for(i=0; i<100; ++i) a[i] = 0;
    a[x] = a[y] = 100;

    playRound(a, b);

    return (a[y] < b[y]);
}

int greaterValue(int N, int W)
{
    return (cmp(0, 1) ? 0 : 1);
}

void allValues(int N, int W, int *P)
{
    int i;
    for(i=0; i<N; ++i) P[i] = i;
    int ans[Nmax];

    if (W == 2*N)
        sort(P, P+N, cmp2);
    else
        sort(P, P+N, cmp);

    for(i=0; i<N; ++i)
        ans[P[i]] = i+1;

    for(i=0; i<N; ++i)
        P[i] = ans[i];
}

Compilation message (stderr)

koala.cpp: In function 'int minValue(int, int)':
koala.cpp:21:12: warning: 'id' may be used uninitialized in this function [-Wmaybe-uninitialized]
     return id;
            ^~
#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...