답안 #226143

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
226143 2020-04-22T16:11:48 Z theStaticMind 코알라 (APIO17_koala) C++14
19 / 100
22 ms 640 KB
#include "koala.h"
#include <bits/stdc++.h>
using namespace std;
 
int B[105], R[105];
 
int minValue(int N, int W) {
 
    for(int i = 0; i < N; i++) B[i] = 1;
 
    playRound(B, R);
 
    for(int i = 0; i < N; i++) B[i] = 0;
    for(int i = 0; i < N; i++){
        if(R[i] > 1){
            B[i] = 1;
            break;
        }
    }
 
    playRound(B, R);
 
    for(int i = 0; i < N; i++){
        if(R[i] <= B[i]) return i;
    }
    assert(0);
 
}
 
 
int maxValue(int N, int W) {
    bool rem[105];
    for(int i = 0; i < N; i++) rem[i] = true;
    auto recalc = [&](){
        int sum = 0;
        for(int i = 0; i < N; i++) if(rem[i]) sum++;
        for(int i = 0; i < N; i++){
            if(rem[i]) B[i] = W / sum;
            else B[i] = 0;
        }
    };
 
    for(int t = 0; t < 4; t++){
        recalc();
        playRound(B, R);
        for(int i = 0; i < N; i++){
            if(R[i] <= B[i]) rem[i] = false;
        }
    }
 
    for(int i = 0; i < N; i++){
        if(rem[i]) return i;
    }
    assert(0);
}
 
int greaterValue(int N, int W) {
   int l = 1, r = 7;
 	int x = 0, y = 1;
    while(l <= r){
        int mid = (l + r) / 2;
 
        for(int i = 0; i < N; i++) B[i] = 0;
        B[x] = B[y] = mid;
        playRound(B, R);
 
        if(R[x] <= B[x] && R[y] <= B[y]) r = mid - 1;
        else if(R[x] > B[x] && R[y] > B[y]) l = mid + 1;
        else{
            return R[x] <= B[x] ? 1 : 0;
        }
 
    }
    assert(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 {
        // TODO: Implement Subtask 5 solution here.
        // You may leave this block unmodified if you are not attempting this
        // subtask.
    }
}
# 결과 실행 시간 메모리 Grader output
1 Correct 14 ms 384 KB Output is correct
2 Correct 13 ms 384 KB Output is correct
3 Correct 14 ms 384 KB Output is correct
4 Correct 13 ms 384 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 21 ms 384 KB Output is correct
2 Correct 22 ms 384 KB Output is correct
3 Correct 21 ms 384 KB Output is correct
4 Correct 21 ms 392 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Runtime error 6 ms 640 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 4 ms 384 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 5 ms 256 KB Output isn't correct
2 Halted 0 ms 0 KB -