#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 |