256462026-02-23 21:54:53anonTiltott pár (45 pont)cpp17Time limit exceeded 35/45675ms2468 KiB
#include <bits/stdc++.h>
#define all(x) (x).begin(), (x).end()
#define FastIO ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL)
using namespace std;
typedef long long ll;
int main() {
    FastIO;
    ll i, c1, c2, lo, hi, mid, ans, N, Q, X, Y;
    array<ll, 2> p1, p2;
    cin >> N;
    vector<array<ll, 2>> A(N);
    for(i = 0; i < N; i++) {
        cin >> A[i][0];
        A[i][1] = i;
    }
    sort(all(A));
    cin >> Q;
    while(Q--) {
        cin >> X >> Y;
        ans = lo = 0;
        hi = N - 1;
        while(lo + 1 < hi) {
            mid = (lo + hi) / 2;
            p1 = { X, mid };
            p2 = { X, 0 };
            c1 = upper_bound(all(A), p1) - lower_bound(all(A), p2);
            p1 = { Y, N - 1 };
            p2 = { Y, mid + 1 };
            c2 = upper_bound(all(A), p1) - lower_bound(all(A), p2);
            ans = max(ans, min(c1, c2));
            if(c1 < c2)
                lo = mid;
            else
                hi = mid;
        }
        cout << ans << '\n';
    }
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base35/45
1Accepted0/01ms316 KiB
2Accepted0/04ms316 KiB
3Accepted2/21ms316 KiB
4Accepted2/21ms316 KiB
5Accepted2/21ms316 KiB
6Accepted2/22ms424 KiB
7Accepted2/24ms508 KiB
8Accepted2/24ms316 KiB
9Accepted3/34ms440 KiB
10Accepted2/2591ms2008 KiB
11Accepted2/2578ms2100 KiB
12Accepted2/2593ms2004 KiB
13Accepted2/2591ms2100 KiB
14Accepted3/3600ms2096 KiB
15Accepted3/3591ms2100 KiB
16Time limit exceeded0/2675ms2004 KiB
17Accepted2/2600ms2116 KiB
18Accepted2/2587ms2100 KiB
19Accepted2/2333ms1332 KiB
20Time limit exceeded0/2671ms2336 KiB
21Time limit exceeded0/2642ms2468 KiB
22Time limit exceeded0/2662ms2356 KiB
23Time limit exceeded0/2638ms2356 KiB