QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#565916#9308. World CupbigJWA 0ms3808kbC++201.6kb2024-09-15 22:37:172024-09-15 22:37:17

Judging History

你现在查看的是最新测评结果

  • [2024-09-15 22:37:17]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:3808kb
  • [2024-09-15 22:37:17]
  • 提交

answer

#include <bits/stdc++.h>

namespace stdv = std::views;
namespace stdr = std::ranges;

using i64 = long long;

template<typename A, typename B>
constexpr bool chmax(A& a, const B& b) {
    a = (a > b) ? a : b;
    return a == b;
}
template<typename A, typename B>
constexpr bool chmin(A& a, const B& b) {
    a = (a < b) ? a : b;
    return a == b;
}

constexpr int N = 32;
int a[N];

void Find() {
    for (int i = 0; i < N; i++) {
        std::cin >> a[i];
    }
    int x = a[0];
    std::sort(a + 1, a + N);
    for (int i = 0; i < N; i += 4) {
        std::sort(a + i, a + i + 4, std::greater());
    }

    if (a[0] != x && a[1] != x) {
        std::cout << "32\n";
        return;
    }

    std::vector<int> b;
    for (int i = 0; i < N; i += 8) {
        b.push_back(std::max(a[i], a[i + 5]));
    }
    for (int i = 1; i < N; i += 8) {
        b.push_back(std::max(a[i], a[i + 3]));
    }

    if (std::find(b.begin(), b.end(), x) == b.end()) {
        std::cout << 16 << "\n";
        return;
    }

    int ans = 8;
    while (ans > 1) {
        std::vector<int> nb;
        for (int i = 0; i < b.size(); i += 2) {
            nb.push_back(std::max(b[i], b[i + 1]));
        }
        b = std::move(nb);
        if (std::find(b.begin(), b.end(), x) == b.end()) {
            std::cout << ans << "\n";
            return;
        }
        ans /= 2;
    }

    std::cout << ans << '\n';
}

int main(int argc, const char* argv[]) {
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);

    int t;
    std::cin >> t;
    
    while (t--) {
        Find();
    }
    
    return 0;
}

詳細信息

Test #1:

score: 100
Accepted
time: 0ms
memory: 3644kb

input:

1
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1

output:

1

result:

ok 1 number(s): "1"

Test #2:

score: -100
Wrong Answer
time: 0ms
memory: 3808kb

input:

32
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
2 1 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
3 1 2 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
4 1 2 3 5 6 7 8 9 10 11 12 13 14 15 ...

output:

32
32
16
16
16
16
8
8
8
8
8
8
8
8
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
2
1

result:

wrong answer 14th numbers differ - expected: '4', found: '8'