답안 #969606

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
969606 2024-04-25T11:02:28 Z socpite 코알라 (APIO17_koala) C++14
29 / 100
61 ms 700 KB
#include "koala.h"
#include<bits/stdc++.h>
using namespace std;

int B[105], R[105];

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


int maxValue(int N, int W) {
    vector<int> vec = {1, 2, 4, 11};
    vector<int> good(N);
    iota(good.begin(), good.end(), 0);
    for(auto v: vec){
        fill(B, B + N, 0);
        for(auto id: good)B[id] = v;
        playRound(B, R);
        good.clear();
        for(int i = 0; i < N; i++)if(R[i] > v)good.push_back(i);
    }
    return good.back();
}

int greaterValue(int N, int W) {
    int l = 1, r = 8;
    while(l < r){
        int mid = (l+r)>>1;
        B[0] = B[1] = mid;
        playRound(B, R);
        if (R[0] > mid and R[1] <= mid) return 0;
        if (R[1] > mid and R[0] <= mid) return 1;
        if(R[0] > mid && R[1] > mid)l = mid + 1;
        else r = mid - 1;
    }
    B[0] = B[1] = l;
    playRound(B, R);
    if (R[0] > l and R[1] <= l) return 0;
    if (R[1] > l and R[0] <= l) return 1;
    return 0;

    // k p0 <= sum (k+1)so dau tien < p1
}

int n;

bool cmp_subtask_4(int a, int b){
    fill(B, B+n, 0);
    B[a] = B[b] = n;
    playRound(B, R);
    return R[a] < R[b];
}

void allValues(int N, int W, int *P) {
    n = N;
    if (W == 2*N) {
        vector<int> vec(N);
        iota(vec.begin(), vec.end(), 0);
        stable_sort(vec.begin(), vec.end(), cmp_subtask_4);
        for(int i = 0; i < N; i++)P[vec[i]] = i;
    } else {
        // TODO: Implement Subtask 5 solution here.
        // You may leave this block unmodified if you are not attempting this
        // subtask.
    }
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 344 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 10 ms 344 KB Output is correct
2 Correct 10 ms 344 KB Output is correct
3 Correct 11 ms 344 KB Output is correct
4 Correct 11 ms 412 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Partially correct 49 ms 464 KB Output is partially correct
2 Partially correct 61 ms 480 KB Output is partially correct
3 Partially correct 52 ms 472 KB Output is partially correct
4 Partially correct 50 ms 468 KB Output is partially correct
5 Partially correct 48 ms 476 KB Output is partially correct
6 Partially correct 61 ms 460 KB Output is partially correct
7 Partially correct 47 ms 476 KB Output is partially correct
8 Partially correct 48 ms 468 KB Output is partially correct
9 Partially correct 48 ms 484 KB Output is partially correct
10 Partially correct 55 ms 468 KB Output is partially correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 21 ms 700 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 344 KB Output isn't correct
2 Halted 0 ms 0 KB -