253062026-02-19 08:47:08KevinTiltott pár (45 pont)cpp17Időlimit túllépés 37/45700ms9392 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;
        if (mp.find(x)==mp.end()) mp[x]={};
        mp[x].push_back(i);
    }
    ll q; cin >> q;
    map<pll, ll> answer;
    while (q--){
        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';
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base37/45
1Elfogadva0/01ms316 KiB
2Elfogadva0/02ms508 KiB
3Elfogadva2/21ms500 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/22ms316 KiB
8Elfogadva2/22ms316 KiB
9Elfogadva3/32ms508 KiB
10Időlimit túllépés0/2699ms8956 KiB
11Időlimit túllépés0/2699ms8868 KiB
12Időlimit túllépés0/2700ms9392 KiB
13Időlimit túllépés0/2699ms9176 KiB
14Elfogadva3/3344ms7988 KiB
15Elfogadva3/3314ms8012 KiB
16Elfogadva2/2263ms7476 KiB
17Elfogadva2/2333ms8072 KiB
18Elfogadva2/2330ms8036 KiB
19Elfogadva2/2104ms4148 KiB
20Elfogadva2/246ms1596 KiB
21Elfogadva2/243ms1828 KiB
22Elfogadva2/243ms1688 KiB
23Elfogadva2/243ms1836 KiB