Submission #969617

# Submission time Handle Problem Language Result Execution time Memory
969617 2024-04-25T11:08:25 Z socpite Koala Game (APIO17_koala) C++14
29 / 100
60 ms 600 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;

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

mt19937 rng(69420);

void allValues(int N, int W, int *P) {
    n = N;
    if (W == 2*N) {
        vector<int> vec(N);
        iota(vec.begin(), vec.end(), 0);
        shuffle(vec.begin(), vec.end(), rng);
        stable_sort(vec.begin(), vec.end(), cmp_subtask_4);
        assert(cntq <= 700);
        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.
    }
}
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 344 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 10 ms 344 KB Output is correct
2 Correct 10 ms 344 KB Output is correct
3 Correct 10 ms 460 KB Output is correct
4 Correct 11 ms 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Partially correct 48 ms 472 KB Output is partially correct
2 Partially correct 60 ms 480 KB Output is partially correct
3 Partially correct 49 ms 600 KB Output is partially correct
4 Partially correct 47 ms 472 KB Output is partially correct
5 Partially correct 49 ms 468 KB Output is partially correct
6 Partially correct 54 ms 468 KB Output is partially correct
7 Partially correct 48 ms 472 KB Output is partially correct
8 Partially correct 54 ms 600 KB Output is partially correct
9 Partially correct 47 ms 468 KB Output is partially correct
10 Partially correct 46 ms 476 KB Output is partially correct
# Verdict Execution time Memory Grader output
1 Incorrect 28 ms 344 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 344 KB Output isn't correct
2 Halted 0 ms 0 KB -