253072026-02-19 08:49:47KevinTiltott pár (45 pont)cpp17Time limit exceeded 37/45700ms9004 KiB
#include <bits/stdc++.h>
using namespace std;
using ll=int;
using pll=pair<ll, ll>;

int main() {
    ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
    ll n; cin >> n;
    map<ll, vector<ll>> mp;
    for (ll i=0; i<n; i++){
        ll x; cin >> x;
        mp[x].push_back(i);
    }
    ll q; cin >> q;
    map<pll, ll> answer;
    for (ll i=0; i<q; i++){
        ll x, y; cin >> y >> x;
        if (answer.find({x, y})!=answer.end()){
            cout << answer[{x, y}] << "\n";
            continue;
        }
        if (mp.find(x)==mp.end() || mp.find(y)==mp.end()){
            cout << "0\n";
            continue;
        }
        ll out=0;
        vector<ll> a=mp[x], b=mp[y];
        ll r=a.size()-1, l=0;
        while (r>=0 && l<=b.size()-1 && a[r]>b[l]){
            r--; l++; out++;
        }
        answer[{x, y}]=out;
        cout << out << '\n';
    }
}
SubtaskSumTestVerdictTimeMemory
base37/45
1Accepted0/01ms316 KiB
2Accepted0/02ms316 KiB
3Accepted2/21ms316 KiB
4Accepted2/21ms316 KiB
5Accepted2/21ms316 KiB
6Accepted2/22ms468 KiB
7Accepted2/22ms468 KiB
8Accepted2/22ms316 KiB
9Accepted3/33ms316 KiB
10Time limit exceeded0/2679ms8528 KiB
11Time limit exceeded0/2680ms8544 KiB
12Time limit exceeded0/2680ms9004 KiB
13Time limit exceeded0/2700ms8928 KiB
14Accepted3/3328ms8080 KiB
15Accepted3/3324ms8012 KiB
16Accepted2/2252ms7340 KiB
17Accepted2/2340ms8076 KiB
18Accepted2/2312ms8032 KiB
19Accepted2/2104ms4124 KiB
20Accepted2/245ms1596 KiB
21Accepted2/241ms1712 KiB
22Accepted2/243ms1696 KiB
23Accepted2/243ms1812 KiB