253272026-02-19 10:59:54MatematikaTiltott pár (45 pont)cpp17Elfogadva 45/45206ms9812 KiB
#include <bits/stdc++.h>
using namespace std;

map<int, vector<int>> m;
map<pair<int,int>, int> volt;

int ki(vector<int>& x, vector<int>& y)
{
    int swapamount=0;
    if(x.size()>y.size())
    {
        for(int i=y.size()-1; i>=0; i--)
        {
            if(y[i]>x[swapamount])
            {
                swapamount++;
            }
        }
        return swapamount;
    }
    for(int i=0; i<x.size(); i++)
    {
        if(x[i]<y[y.size()-1-swapamount])
        {
            swapamount++;
        }
    }
    return swapamount;
}

int main() {
    ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    int n, onlyin, onlyin2, q; cin >> n;
    for(int i=0; i<n; i++)
    {
        cin >> onlyin;
        m[onlyin].push_back(i);
    }
    cin >> q;
    for(int i=0; i<q; i++)
    {
        cin >> onlyin >> onlyin2;
        if(volt.find({onlyin, onlyin2})!=volt.end())
        {
            cout << volt[{onlyin, onlyin2}] << "\n";
            continue;
        }
        volt[{onlyin, onlyin2}]=ki(m[onlyin], m[onlyin2]);
        cout << volt[{onlyin, onlyin2}] << "\n";
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base45/45
1Elfogadva0/01ms316 KiB
2Elfogadva0/02ms500 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/22ms564 KiB
8Elfogadva2/22ms316 KiB
9Elfogadva3/32ms456 KiB
10Elfogadva2/2197ms9132 KiB
11Elfogadva2/2187ms8956 KiB
12Elfogadva2/2200ms9812 KiB
13Elfogadva2/2206ms9288 KiB
14Elfogadva3/3180ms7592 KiB
15Elfogadva3/3178ms7544 KiB
16Elfogadva2/2187ms7480 KiB
17Elfogadva2/2180ms7604 KiB
18Elfogadva2/2173ms7600 KiB
19Elfogadva2/293ms3892 KiB
20Elfogadva2/243ms1332 KiB
21Elfogadva2/241ms1328 KiB
22Elfogadva2/243ms1332 KiB
23Elfogadva2/243ms1328 KiB