답안 #969944

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
969944 2024-04-26T01:11:49 Z CDuong 코알라 (APIO17_koala) C++17
0 / 100
1 ms 600 KB
#include "koala.h"
#include <bits/stdc++.h>
#define isz(x) (int)x.size()
using namespace std;
 
int B[105], R[105];
 
int minValue(int N, int W) {
    return 0;
}
 
 
int maxValue(int N, int W) {
    return 0;
}
 
int greaterValue(int N, int W) {
    return 0;
}

int calc(int start, int len) {
    len = min(len, start);
    return start * len - len * (len - 1) / 2;
}

int transform(int x, int n, int val) {
    int nx = max(x, n - n / (val + 1) + 1);
    int start = x - 1 - (n - (n - nx + 1) * (val + 1));
    // cout << nx << " " << start << endl;
    while (nx <= n and nx <= calc(start, val + 1)) {
        ++nx, start -= val + 1;
        // cout << nx << " " << start << endl;
    }
    return nx;
}

void allValues(int n, int w, int *ans) {
    if (w == 2 * n) {
        return;
    }

    auto cook = [&](auto self, vector<int> idx, int l, int r) -> void {
        if (l == r) ans[idx.front()] = 0;
        for (int i = r / (r - l); i >= 1; --i) {
            int nl = transform(l, r, i);
            if (l < nl and nl < r) {
                fill(B, B + n, 0);
                for (auto idx_ : idx) B[idx_] = i;
                playRound(B, R);
                vector<int> left, right;
                for (auto idx_ : idx) {
                    if (R[idx_] > i) right.emplace_back(idx_);
                    else left.emplace_back(idx_);
                }
                self(self, left, l, l + isz(left));
                self(self, right, r - isz(right), r);
                assert(l + isz(left) == r - isz(right));
                return;
            }
            assert(0);
        }
    };
    vector<int> idx(n);
    iota(idx.begin(), idx.end(), 0);
    cook(cook, idx, 1, n + 1);
}

// int main() {
//     cout << transform(92, 100, 11) << endl;
// }
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 600 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -