7266 2024. 01. 05 17:48:13 anon Rendezés cpp17 Elfogadva 40/40 43ms 11924 KiB
#include <bits/stdc++.h>
#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, j, fr, active, ans, N, M;
    cin >> N >> M;
    vector<ll> seq(N);
    for(i = 0; i < N; i++)
        cin >> seq[i];
    vector<array<ll, 2>> ranges(M);
    for(i = 0; i < M; i++) {
        cin >> ranges[i][0] >> ranges[i][1];
        ranges[i][0]--;
    }
    vector<array<ll, 2>> eps(N + 1, { 0, 0 });
    for(i = 0; i < M; i++) {
        for(j = 0; j < 2; j++)
            eps[ranges[i][j]][j]++;
    }
    fr = active = 0;
    for(i = 0; i <= N; i++) {
        active -= eps[i][1];
        if(!active && fr != -1) {
            sort(seq.begin() + fr, seq.begin() + i);
            fr = -1;
        }
        active += eps[i][0];
        if(active && fr == -1)
            fr = i;
    }
    ans = 0;
    for(i = 0; i < N; i++)
        ans += (seq[i] == i + 1);
    cout << ans << '\n';
    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 40/40
1 Elfogadva 0/0 3ms 1824 KiB
2 Elfogadva 0/0 7ms 2980 KiB
3 Elfogadva 2/2 3ms 2556 KiB
4 Elfogadva 2/2 3ms 2376 KiB
5 Elfogadva 2/2 3ms 2444 KiB
6 Elfogadva 2/2 3ms 2728 KiB
7 Elfogadva 2/2 3ms 3068 KiB
8 Elfogadva 2/2 3ms 3072 KiB
9 Elfogadva 2/2 3ms 3000 KiB
10 Elfogadva 2/2 3ms 3064 KiB
11 Elfogadva 2/2 37ms 10544 KiB
12 Elfogadva 2/2 37ms 10800 KiB
13 Elfogadva 2/2 39ms 11076 KiB
14 Elfogadva 1/1 39ms 10968 KiB
15 Elfogadva 2/2 39ms 11228 KiB
16 Elfogadva 2/2 41ms 11484 KiB
17 Elfogadva 2/2 43ms 11748 KiB
18 Elfogadva 2/2 43ms 11708 KiB
19 Elfogadva 2/2 41ms 11708 KiB
20 Elfogadva 1/1 41ms 11708 KiB
21 Elfogadva 2/2 41ms 11784 KiB
22 Elfogadva 2/2 41ms 11924 KiB
23 Elfogadva 2/2 41ms 11856 KiB