Submission #969689

#TimeUsernameProblemLanguageResultExecution timeMemory
969689CDuongKoala Game (APIO17_koala)C++17
43 / 100
49 ms612 KiB
#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) {
        if (l == 5 and r == 8) ++l;
        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;
    }
 }
 
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 + 1;
    } else {
        // TODO: Implement Subtask 5 solution here.
        // You may leave this block unmodified if you are not attempting this
        // subtask.
    }
}

Compilation message (stderr)

koala.cpp: In function 'int greaterValue(int, int)':
koala.cpp:41:2: warning: control reaches end of non-void function [-Wreturn-type]
   41 |  }
      |  ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...