23822023-01-12 09:33:26TuruTamasRendezéscpp11Időlimit túllépés 25/40382ms18772 KiB
#include <bits/stdc++.h>
using namespace std;

int N, M;

int main() {
    cin >> N >> M;
    vector<int> S(N);
    for (size_t i = 0; i < N; i++)
    {
        cin >> S[i];
    }
    int a, b;
    vector<pair<bool, pair<int, int>>> A(M);
    {
    vector<vector<int>> B(N);
    for (size_t i = 0; i < M; i++)
    {
        cin >> a >> b;
        a--; b--;
        for (size_t k = a; k < b + 1; k++)
        {
            B[k].push_back(i);
        }
        A[i].second = {a, b};
    }
    for (size_t i = 0; i < N; i++)
    {
        if (B[i].size() > 1) {
            for (size_t k = 0; k < B[i].size(); k++)
            {
                A[B[i][k]].first = true;
            }
        }
    }
    }
    bool f = true;
    for (pair<bool, pair<int, int>> i : A)
    {
        sort(S.begin() + i.second.first, S.begin() + i.second.second + 1);
    }
    while (f) {
        f = false;
        for (pair<bool, pair<int, int>> i : A)
        {
            if (i.first && !is_sorted(S.begin() + i.second.first, S.begin() + i.second.second + 1)) {
                sort(S.begin() + i.second.first, S.begin() + i.second.second + 1);
                f = true;
            }
        }
    }
    int counter = 0;
    for (size_t i = 0; i < S.size(); i++)
    {
        if (S[i] == i + 1) counter++;
    }
    cout << counter;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base25/40
1Elfogadva0/03ms1812 KiB
2Elfogadva0/032ms3356 KiB
3Elfogadva2/22ms2208 KiB
4Elfogadva2/22ms2456 KiB
5Elfogadva2/22ms2664 KiB
6Elfogadva2/22ms2840 KiB
7Elfogadva2/23ms2960 KiB
8Elfogadva2/23ms3212 KiB
9Elfogadva2/23ms3532 KiB
10Elfogadva2/23ms3740 KiB
11Elfogadva2/2123ms15560 KiB
12Elfogadva2/2115ms15160 KiB
13Elfogadva2/2119ms15408 KiB
14Elfogadva1/1116ms15664 KiB
15Elfogadva2/2116ms15868 KiB
16Időlimit túllépés0/2372ms13508 KiB
17Időlimit túllépés0/2374ms16708 KiB
18Időlimit túllépés0/2370ms15888 KiB
19Időlimit túllépés0/2370ms15692 KiB
20Időlimit túllépés0/1342ms15332 KiB
21Időlimit túllépés0/2382ms18772 KiB
22Időlimit túllépés0/2358ms14016 KiB
23Időlimit túllépés0/2347ms15496 KiB