답안 #406886

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
406886 2021-05-18T07:06:48 Z benedict0724 코알라 (APIO17_koala) C++17
37 / 100
64 ms 304 KB
#include "koala.h"
#include <assert.h>

int B[100], R[100], P[100];

void initialize(int N)
{
    for(int i=0;i<N;i++)
    {
        B[i] = 0;
        R[i] = 0;
    }
    return;
}
int minValue(int N, int W) {
    initialize(N);
    B[0] = 1;
    playRound(B, R);
    int ans = 0;
    for(int i=1;i<N;i++)
    {
        if(R[i] == 0) ans = i;
    }
    return ans;
}

int maxValue(int N, int W) {
    int cnt = N;
    for(int i=0;i<N;i++) P[i] = true;
    while(cnt > 1)
    {
        initialize(N);
        for(int i=0;i<N;i++)
        {
            if(P[i]) B[i] = N/cnt;
        }
        playRound(B, R);
        for(int i=0;i<N;i++)
        {
            if(R[i] <= B[i] && P[i])
            {
                P[i] = false;
                cnt--;
            }
        }
    }
    for(int i=0;i<N;i++) if(P[i]) return i;
}

int greaterValue(int N, int W) {
    int l = 1, r = 14;
    while(l <= r)
    {
        initialize(N);
        int mid = (2*l + r)/3;
        B[0] = B[1] = mid;
        playRound(B, R);

        if(R[0] != R[1])
        {
            return (R[0] == 0) ? 1 : 0;
        }

        if(R[0] == 0) r = mid-1;
        else l = mid+2;
    }
}

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.
    }
}

Compilation message

koala.cpp: In function 'int maxValue(int, int)':
koala.cpp:48:1: warning: control reaches end of non-void function [-Wreturn-type]
   48 | }
      | ^
koala.cpp: In function 'int greaterValue(int, int)':
koala.cpp:67:1: warning: control reaches end of non-void function [-Wreturn-type]
   67 | }
      | ^
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 236 KB Output is correct
2 Correct 5 ms 200 KB Output is correct
3 Correct 5 ms 200 KB Output is correct
4 Correct 5 ms 200 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 17 ms 200 KB Output is correct
2 Correct 19 ms 200 KB Output is correct
3 Correct 15 ms 200 KB Output is correct
4 Correct 14 ms 200 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 61 ms 304 KB Output is correct
2 Correct 64 ms 304 KB Output is correct
3 Correct 59 ms 300 KB Output is correct
4 Correct 60 ms 300 KB Output is correct
5 Correct 63 ms 292 KB Output is correct
6 Correct 59 ms 300 KB Output is correct
7 Correct 59 ms 300 KB Output is correct
8 Correct 60 ms 304 KB Output is correct
9 Correct 60 ms 200 KB Output is correct
10 Correct 60 ms 304 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 200 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 200 KB Output isn't correct
2 Halted 0 ms 0 KB -