/ SeriousOJ /

Record Detail

Wrong Answer


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 532.0 KiB
#2 Wrong Answer 1ms 344.0 KiB
#3 Wrong Answer 21ms 692.0 KiB

Code

#include <bits/stdc++.h>
using namespace std;

#define int long long

signed main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int t;
    cin >> t;

    while (t--) {
        int n;
        cin >> n;
        vector<int> A(n), B(n);
        for (int i = 0; i < n; i++) cin >> A[i];
        for (int i = 0; i < n; i++) cin >> B[i];
        sort(A.begin(), A.end()); 
        sort(B.begin(), B.end());

        vector<int> A1(n), B1(n);
        int k = 0;
        for (int i = 0; i < n; i += 2) A1[i] = A[k++], B1[i] = B[k - 1];
        k = n - 1;
        for (int i = 1; i < n; i += 2) A1[i] = A[k--], B1[i] = B[k + 1];
  
        bool is = true;
        for (int i = 1; i < n-1; i++) {
            if (!((A1[i] > B1[i - 1] && A1[i] > B1[i + 1]) ||
                   (B1[i] > A1[i - 1] && B1[i] > A1[i + 1]))) {
                is = false;
                break;
            }
        }
        if (is) {
            cout << "Yes\n";
            continue;
        }

        k = 0;
        for (int i = 0; i < n; i += 2) B1[i] = A[k++], A1[i] = B[k - 1];
        k = n - 1;
        for (int i = 1; i < n; i += 2) B1[i] = A[k--], A1[i] = B[k + 1];
  
        is = true;
        for (int i = 1; i < n - 1; i++) {
            if (!((A1[i] > B1[i - 1] && A1[i] > B1[i + 1]) ||
                   (B1[i] > A1[i - 1] && B1[i] > A1[i + 1]))) {
                is = false;
                break;
            }
        }
        cout << (is ? "Yes" : "No") << '\n';
    }
}

Information

Submit By
Type
Submission
Problem
P1193 C. Roy and Peak Array
Contest
Brain Booster #10
Language
C++17 (G++ 13.2.0)
Submit At
2025-06-13 16:10:43
Judged At
2025-06-13 16:10:43
Judged By
Score
0
Total Time
21ms
Peak Memory
692.0 KiB