답안 #512088

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
512088 2022-01-16T06:36:35 Z InternetPerson10 코알라 (APIO17_koala) C++17
33 / 100
86 ms 328 KB
#include "koala.h"
#include <bits/stdc++.h>

using namespace std;

int B[100], R[100];

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.
    B[0] = 1;
    playRound(B, R);
    if(R[0] == 2) {
        for(int i = 1; i < N; i++) {
            if(R[i] == 0) return i;
        }
    }
    return 0;
}

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.
    for(int i = 0; i < 100; i++) {
        B[i] = 1;
    }
    playRound(B, R);
    for(int i = 0; i < 100; i++) {
        B[i] = R[i];
    }
    playRound(B, R);
    for(int i = 0; i < 100; i++) {
        if(R[i] == 3) B[i] = 4;
        else B[i] = 0;
    }
    playRound(B, R);
    for(int i = 0; i < 100; i++) {
        if(R[i] == 5) B[i] = 11;
        else B[i] = 0;
    }
    playRound(B, R);
    for(int i = 0; i < 100; i++) {
        if(R[i] == 12) return i;
    }
}

int greaterValue(int N, int W, int X, int Y) {
    // TODO: Implement Subtask 3 solution here.
    // You may leave this function unmodified if you are not attempting this
    // subtask.
    int l = 0, r = 10;
    while(l != r - 1) {
        int mid = (l+r+1)/2;
        B[X] = B[Y] = mid;
        playRound(B, R);
        bool x = (R[X] > mid), y = (R[Y] > mid);
        if(x && y) l = mid;
        else if(!x && !y) r = mid;
        else if(x) return X;
        else if(y) return Y;
    }
    return 0;
}

int greaterValue(int N, int W) {
    return greaterValue(N, W, 0, 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.
    }
}

Compilation message

koala.cpp: In function 'int maxValue(int, int)':
koala.cpp:47:1: warning: control reaches end of non-void function [-Wreturn-type]
   47 | }
      | ^
# 결과 실행 시간 메모리 Grader output
1 Correct 4 ms 200 KB Output is correct
2 Correct 4 ms 308 KB Output is correct
3 Correct 7 ms 308 KB Output is correct
4 Correct 7 ms 200 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 19 ms 200 KB Output is correct
2 Correct 19 ms 200 KB Output is correct
3 Correct 13 ms 200 KB Output is correct
4 Correct 13 ms 308 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 86 ms 320 KB Output is correct
2 Partially correct 57 ms 308 KB Output is partially correct
3 Correct 46 ms 320 KB Output is correct
4 Correct 54 ms 320 KB Output is correct
5 Partially correct 47 ms 328 KB Output is partially correct
6 Correct 51 ms 328 KB Output is correct
7 Partially correct 55 ms 320 KB Output is partially correct
8 Correct 51 ms 324 KB Output is correct
9 Correct 57 ms 324 KB Output is correct
10 Correct 53 ms 324 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 200 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 200 KB Output isn't correct
2 Halted 0 ms 0 KB -