Submission #1369320

#TimeUsernameProblemLanguageResultExecution timeMemory
1369320SulAGrid Coloring (JOI25_ho_t1)C++20
100 / 100
261 ms28588 KiB
#include <bits/stdc++.h>
using namespace std;
using namespace chrono;

/*
 * 2 1 1 2
 * 1 1 1 2
 * 2 2 2 2
 * 1 2 2 2
 */
 #define int long long

signed main() {
    int n; cin >> n;
    int A[n+1], B[n+1];
    for (int i = 0; i < n; cin >> A[i++]);
    for (int i = 0; i < n; cin >> B[i++]);
    map<int, long long> frq;
    frq[A[0]]++;
    for (int i = 1; i < n; i++) {
        frq[A[i]]++, frq[B[i]]++;
    }
    for (int i = 1; i < n-1; i++) {
        A[i + 1] = max(A[i], A[i + 1]);
        B[i + 1] = max(B[i], B[i + 1]);
    }
    for (int i = 1; i < n; i++) {
        auto it = lower_bound(B + 1, B + n, A[i]);
        frq[A[i]] += it - B - 1;
        it = upper_bound(A + 1, A + n, B[i]);
        frq[B[i]] += it - A - 1;
    }
    int mx = 0, col = 0;
    for (auto [x, cnt] : frq) {
        if (cnt >= mx) {
            mx = cnt;
            col = x;
        }
    }
    cout << col << " " << mx;
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...