답안 #701191

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
701191 2023-02-20T12:04:32 Z Abrar_Al_Samit 코알라 (APIO17_koala) C++17
33 / 100
60 ms 456 KB
#include "koala.h"
#include<bits/stdc++.h>

using namespace std;

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

    if(R[0]<=1) {
        return 0;
    }
    for(int i=1; i<N; ++i) {
        if(R[i]==0) return i;
    }
}

int maxValue(int N, int W) {
    int B[N] = {0}, R[N] = {0};

    set<int>s;
    for(int i=0; i<N; ++i) {
        s.insert(i);
    }

    while(s.size()>1) {
        int val = W / s.size();

        memset(B, 0, sizeof B);
        memset(R, 0, sizeof R);

        for(int x : s) {
            B[x] = val;
        }
        playRound(B, R);

        set<int>new_s;
        for(int i=0; i<N; ++i) if(R[i]>B[i]) {
            if(s.count(i)) new_s.insert(i);
        }
        s = new_s;
    }
    return *s.begin();    
}

int greaterValue(int N, int W) {
    int B[N] = {0}, R[N] = {0};

    int l = 1, r = 13;

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

        B[0] = B[1] = mid;
        playRound(B, R);

        if(B[0]<R[0] && B[1]<R[1]) {
            l = mid;
        } else if(B[0]>=R[0] && B[1]>=R[1]) {
            r = mid-1;
        } else {
            if(R[0]>B[0]) return 0;
            return 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 minValue(int, int)':
koala.cpp:20:1: warning: control reaches end of non-void function [-Wreturn-type]
   20 | }
      | ^
koala.cpp: In function 'int greaterValue(int, int)':
koala.cpp:70:1: warning: control reaches end of non-void function [-Wreturn-type]
   70 | }
      | ^
# 결과 실행 시간 메모리 Grader output
1 Correct 4 ms 208 KB Output is correct
2 Correct 4 ms 208 KB Output is correct
3 Correct 4 ms 316 KB Output is correct
4 Correct 3 ms 208 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 13 ms 328 KB Output is correct
2 Correct 14 ms 320 KB Output is correct
3 Correct 14 ms 208 KB Output is correct
4 Correct 14 ms 324 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 43 ms 336 KB Output is correct
2 Partially correct 60 ms 336 KB Output is partially correct
3 Correct 52 ms 456 KB Output is correct
4 Correct 42 ms 324 KB Output is correct
5 Partially correct 42 ms 332 KB Output is partially correct
6 Correct 42 ms 324 KB Output is correct
7 Partially correct 40 ms 336 KB Output is partially correct
8 Correct 40 ms 328 KB Output is correct
9 Correct 51 ms 336 KB Output is correct
10 Correct 41 ms 320 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 208 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 208 KB Output isn't correct
2 Halted 0 ms 0 KB -