Submission #262889

# Submission time Handle Problem Language Result Execution time Memory
262889 2020-08-13T10:35:31 Z SorahISA Koala Game (APIO17_koala) C++11
22 / 100
121 ms 504 KB
#include "koala.h"
#include <bits/stdc++.h>
using namespace std;

// #define int long long
#define double long double
using pii = pair<int, int>;
template<typename T>
using prior = std::priority_queue<T, vector<T>, greater<T>>;
template<typename T>
using Prior = std::priority_queue<T>;

#define X first
#define Y second
#define ALL(x) (x).begin(), (x).end()
#define eb emplace_back
#define pb push_back
#define fastIO() ios_base::sync_with_stdio(false), cin.tie(0)

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.
    
    int play[N], ret[N];
    memset(play, 0x00, sizeof(play));
    
    play[0] = 1;
    playRound(play, ret);
    
    for (int i = 0; i < N; ++i) {
        if (ret[i] <= play[i]) return i;
    }
    
    return 0;
}

int maxValue(int N, int W) {
    // TODO: Implement Subtask 2 solution here.
    // You may leave this function unmodified if you are not attempting this
    // subtask.
    
    int play[N], ret[N];
    memset(play, 0x00, sizeof(play));
    
    vector<int> test;
    for (int i = 0; i < N; i += 10) {
        for (int j = 0; j < 10; ++j) play[i + j] = 100;
        playRound(play, ret);
        for (int j = 0; j < 10; ++j) play[i + j] = 0;
        for (int j = 0; j < 10; ++j) {
            if (ret[i + j]) test.eb(i + j);
        }
    }
    
    memset(play, 0x00, sizeof(play));
    for (auto x : test) play[x] = 10;
    playRound(play, ret);
    for (int i = 0; i < N; ++i) {
        if (ret[i]) return i;
    }
    
    return 0;
}

int greaterValue(int N, int W) {
    // TODO: Implement Subtask 3 solution here.
    // You may leave this function unmodified if you are not attempting this
    // subtask.
    
    int play[N], ret[N];
    memset(play, 0x00, sizeof(play));
    
    play[0] = play[1] = 3;
    playRound(play, ret);
    if (ret[0] != ret[1]) return ret[1] > ret[0];
    
    if (ret[0] == 0) {
        play[0] = play[1] = 1;
        playRound(play, ret);
        if (ret[0] != ret[1]) return ret[1] > ret[0];
        
        play[0] = play[1] = 2;
        playRound(play, ret);
        if (ret[0] != ret[1]) return ret[1] > ret[0];
    }
    else {
        play[0] = play[1] = 5;
        playRound(play, ret);
        if (ret[0] != ret[1]) return ret[1] > ret[0];
        
        play[0] = play[1] = 8;
        playRound(play, ret);
        if (ret[0] != ret[1]) return ret[1] > ret[0];
    }
    
    return 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.
    }
}
# Verdict Execution time Memory Grader output
1 Correct 6 ms 384 KB Output is correct
2 Correct 7 ms 384 KB Output is correct
3 Correct 7 ms 384 KB Output is correct
4 Correct 6 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 256 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 113 ms 404 KB Output is correct
2 Correct 121 ms 504 KB Output is correct
3 Correct 111 ms 384 KB Output is correct
4 Correct 109 ms 416 KB Output is correct
5 Correct 110 ms 400 KB Output is correct
6 Correct 114 ms 384 KB Output is correct
7 Correct 111 ms 504 KB Output is correct
8 Correct 111 ms 384 KB Output is correct
9 Correct 109 ms 384 KB Output is correct
10 Correct 110 ms 412 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 256 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 256 KB Output isn't correct
2 Halted 0 ms 0 KB -