79972024-01-12 09:55:09ZsBalazsRendezéscpp17Hibás válasz 7/40118ms12500 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
    long long n, m;
    cin >> n >> m;
    
    vector<long long> szamok;
    
    for (long long i = 0; n > i; i++) {
        long long temp;
        cin >> temp;
        
        szamok.push_back(temp);
    }
    
    vector<pair<long long, long long>> inter;
    
    for (long long i = 0; m > i; i++) {
        long long a, b;
        cin >> a >> b;
        
        a--;
        b--;
        
        inter.push_back({a, b});
    }
    
    sort(inter.begin(), inter.end());
    
    vector<pair<long long, long long>> realInter;
    
    long long currentStart = -1;
    long long currentEnd = -1;
    
    for (long long i = 0; m > i; i++) {
        pair<long long, long long> current = inter[i];
        
        if (currentStart == -1) {
            currentStart = current.first;
            currentEnd = current.second;
        } else if (currentEnd >= current.first) {
            // Ez egybeesik
            currentEnd = current.second;
        } else {
            realInter.push_back({currentStart, currentEnd});
            
            sort(szamok.begin()+currentStart, szamok.begin()+currentEnd+1);
            
            currentStart = current.first;
            currentEnd = current.second;
        }
    }
    
    if (currentStart != -1) {
        sort(szamok.begin()+currentStart, szamok.begin()+currentEnd+1);
    }
    
    int megoldas = 0;
    
    for (int i = 0; n > i; i++) {
        if (szamok[i] == i+1) {
            megoldas++;
        }
    }
    
    cout << megoldas << endl;
    
	return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base7/40
1Elfogadva0/03ms1812 KiB
2Hibás válasz0/017ms3296 KiB
3Elfogadva2/23ms2224 KiB
4Hibás válasz0/23ms2308 KiB
5Hibás válasz0/23ms2540 KiB
6Hibás válasz0/23ms2640 KiB
7Hibás válasz0/23ms2884 KiB
8Hibás válasz0/24ms3096 KiB
9Hibás válasz0/24ms3440 KiB
10Hibás válasz0/23ms3520 KiB
11Hibás válasz0/2112ms11664 KiB
12Elfogadva2/2112ms12432 KiB
13Elfogadva2/2115ms12300 KiB
14Elfogadva1/1114ms12500 KiB
15Hibás válasz0/2112ms12120 KiB
16Hibás válasz0/2112ms9652 KiB
17Hibás válasz0/2111ms9680 KiB
18Hibás válasz0/2112ms9528 KiB
19Hibás válasz0/2112ms9528 KiB
20Hibás válasz0/1111ms9524 KiB
21Hibás válasz0/2112ms9524 KiB
22Hibás válasz0/2111ms9524 KiB
23Hibás válasz0/2118ms9668 KiB