229712026-01-16 10:02:12AblablablaRendezéscpp17Elfogadva 40/40116ms2224 KiB
#include <bits/stdc++.h>

using namespace std;

typedef pair<int, int> pii;

int main()
{
    int n, m;
    cin >> n >> m;

    vector<int> alap(n);
    for(int &x : alap){
        cin >> x;
    }

    vector<pii> lepes(m);
    for(auto &x : lepes){
        cin >> x.first >> x.second;
        x.first--; x.second--;
    }

    sort(lepes.begin(), lepes.end());

    int elso = lepes[0].first;
    int elozo = lepes[0].second;
    vector<pii> rendez;

    for(auto x : lepes){
        if(x.first <= elozo){
            elozo = max(elozo, x.second);
        } else{
            rendez.push_back({elso, elozo});
            elso = x.first;
            elozo = x.second;
        }
    }

    rendez.push_back({elso, elozo});

    for(auto x : rendez){
        sort(alap.begin() + x.first, alap.begin() + x.second + 1);
    }

    int ans = 0;
    for(int i = 0; i < n; i++){
        if(i + 1 == alap[i]){
            ans++;
        }
    }

    cout << ans << "\n";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base40/40
1Elfogadva0/01ms508 KiB
2Elfogadva0/014ms564 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/22ms316 KiB
8Elfogadva2/22ms316 KiB
9Elfogadva2/22ms316 KiB
10Elfogadva2/22ms316 KiB
11Elfogadva2/2111ms2224 KiB
12Elfogadva2/2111ms2224 KiB
13Elfogadva2/2111ms2224 KiB
14Elfogadva1/1111ms2224 KiB
15Elfogadva2/2109ms2208 KiB
16Elfogadva2/2112ms1552 KiB
17Elfogadva2/2116ms1568 KiB
18Elfogadva2/2115ms1572 KiB
19Elfogadva2/2114ms1584 KiB
20Elfogadva1/1114ms1572 KiB
21Elfogadva2/2112ms1568 KiB
22Elfogadva2/2114ms1568 KiB
23Elfogadva2/2112ms1576 KiB