QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#402780#677. Koala GameMax_s_xaM0 35ms4096kbC++142.3kb2024-05-01 14:18:442024-05-01 14:18:44

Judging History

This is the latest submission verdict.

  • [2024-05-01 14:18:44]
  • Judged
  • Verdict: 0
  • Time: 35ms
  • Memory: 4096kb
  • [2024-05-01 14:18:44]
  • Submitted

answer

#include "koala.h"
#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;

int n, w;

int B[110], R[110];
inline vector <int> Query(vector <int> qry)
{
    cout << "Query ";
    for (int i = 0; i < n; i++) cout << qry[i] << ' '; cout << '\n';
    for (int i = 0; i < n; i++) B[i] = qry[i];
    playRound(B, R);
    vector <int> ret(n);
    for (int i = 0; i < n; i++) ret[i] = R[i];
    return ret;
}
inline vector <int> GetPos(vector <int> opt, vector <int> ret, int x)
{
    vector <int> pos;
    for (int i = 0; i < n; i++)
        if (opt[i] < ret[i] && opt[i] == x) pos.push_back(i);
    return pos;
}

vector <int> opt(100), ret(100), pos;


int minValue(int N, int W)
{
    n = N, w = W;
    opt[0] = 1, ret = Query(opt);
    if (ret[0] < 2) return 0;
    for (int i = 0; i < n; i++)
        if (!ret[i]) return i;
}

int maxValue(int N, int W)
{
    n = N, w = W;

    for (int i = 0; i < n; i++) opt[i] = 1;
    ret = Query(opt), pos = GetPos(opt, ret, 1);

    for (int i = 0; i < n; i++) opt[i] = 0;
    for (auto x : pos) opt[x] = 2;
    ret = Query(opt), pos = GetPos(opt, ret, 2);
    
    for (int i = 0; i < n; i++) opt[i] = 0;
    for (auto x : pos) opt[x] = 4;
    ret = Query(opt), pos = GetPos(opt, ret, 4);

    for (int i = 0; i < n; i++) opt[i] = 0;
    for (auto x : pos) opt[x] = 11;
    ret = Query(opt), pos = GetPos(opt, ret, 11);

    return pos[0];
}

const int gV[7] = {1, 2, 4, 5, 6, 7, 8};
int greaterValue(int N, int W)
{
    n = N, w = W;
    int l = 0, r = 6, mid;
    while (l <= r)
    {
        mid = l + r >> 1;
        opt[0] = gV[mid], opt[1] = gV[mid];
        ret = Query(opt);
        bool flag = (ret[0] > opt[0]) ^ (ret[1] > opt[1]);
        if (flag) return (ret[1] > opt[1]);
        if (ret[0] > opt[0]) l = mid + 1;
        else r = mid - 1;
    }
    return 0;
}

void allValues(int N, int W, int *P)
{
    n = N, w = W;
    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.
    }
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 0
Wrong Answer

Test #1:

score: 0
Wrong Answer
time: 3ms
memory: 3788kb

input:

1 100 2
100 100 46 17 44 52 18 67 69 100 62 96 33 64 41 47 87 54 99 32 14 4 89 73 70 20 81 42 8 80 65 88 36 11 53 98 56 94 79 57 1 76 31 7 72 13 21 92 86 66 90 24 40 75 68 15 37 25 43 58 60 3 82 85 28 16 71 97 22 38 9 39 48 78 74 91 50 35 29 27 10 12 6 19 5 34 95 59 93 83 30 49 51 61 26 23 77 55 45 ...

output:

Unauthorized output

result:

wrong output format Expected integer, but "Unauthorized" found

Subtask #2:

score: 0
Wrong Answer

Test #5:

score: 0
Wrong Answer
time: 10ms
memory: 3896kb

input:

2 100 13
100 100 65 36 67 86 38 76 15 17 13 93 83 57 46 90 14 2 52 88 29 74 55 66 79 75 37 81 87 47 56 25 33 39 8 31 64 73 98 78 100 94 10 58 61 70 53 54 21 49 16 5 4 85 44 62 27 92 91 26 72 41 42 99 89 77 12 69 60 24 3 30 40 1 84 68 59 28 11 71 96 97 63 32 18 34 43 82 48 35 95 80 7 45 19 23 51 22 5...

output:

Unauthorized output

result:

wrong output format Expected integer, but "Unauthorized" found

Subtask #3:

score: 0
Wrong Answer

Test #9:

score: 0
Wrong Answer
time: 35ms
memory: 4096kb

input:

3 1100 14
100 100 50 78 94 90 6 24 52 93 73 4 7 5 40 2 17 41 27 8 21 16 64 80 96 12 46 57 38 22 69 92 47 10 60 13 76 62 30 74 31 82 91 32 36 53 84 98 44 77 19 49 83 71 79 15 87 37 20 85 48 51 68 55 3 81 1 34 99 97 26 9 75 35 28 56 33 65 54 25 18 66 11 63 43 61 88 45 89 23 39 29 100 58 67 95 42 59 72...

output:

Unauthorized output

result:

wrong output format Expected integer, but "Unauthorized" found

Subtask #4:

score: 0
Wrong Answer

Test #19:

score: 0
Wrong Answer
time: 0ms
memory: 3736kb

input:

4 1 700
100 200 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98...

output:

-1

result:

wrong answer 

Subtask #5:

score: 0
Wrong Answer

Test #39:

score: 0
Wrong Answer
time: 0ms
memory: 3796kb

input:

4 1 3200
100 100 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 9...

output:

-1

result:

wrong answer