81032024-01-12 13:27:54AblablablaRendező robot (80 pont)cpp17Hibás válasz 4/80101ms15484 KiB
#include <bits/stdc++.h>

using namespace std;

typedef pair<int, int> pii;

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

    vector<int> szamok(n, 0);
    for(int i = 0; i < n; i++){
        cin >> szamok[i];
    }

    int db = 1;
    vector<pii> kezdok;
    vector<int> indexek(n, -1);
    kezdok.push_back({szamok[0], 0});
    for(int i = 1; i < n; i++){
        if(szamok[i] != szamok[i - 1] + 1){
            db++;
            kezdok.push_back({szamok[i], i});
        }
    }

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

    for(int i = 0; i < kezdok.size(); i++){
        indexek[kezdok[i].second] = i;
    }

    vector<int> uj;
    int utolso = 0;
    vector<int> meretek(db, 0);
    for(int i = 0; i < n; i++){
        if(indexek[i] != -1){
            uj.push_back(indexek[i]);
            utolso = indexek[i];
        }
        meretek[utolso]++;
    }

    vector<bool> latta(db, 0);
    vector<int> minusz(db, 0);
    for(int i = 1; i < db; i++){
        if(latta[i - 1]){
            minusz[i] += meretek[i - 1];
        }
        latta[i] = 1;
    }

    latta.assign(db, 0);
    for(int i = db - 2; i >= 0; i--){
        if(latta[i + 1]){
            minusz[i] += meretek[i + 1];
        }
        latta[i] = 1;
    }

    for(int i = 0; i < db; i++){
        minusz[i] += meretek[i];
    }

    int maxi = 0;
    for(int i = 0; i < db; i++){
        maxi = max(maxi, minusz[i]);
    }

    cout << n - maxi << "\n";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base4/80
1Hibás válasz0/03ms1940 KiB
2Elfogadva0/03ms2020 KiB
3Elfogadva2/23ms2248 KiB
4Hibás válasz0/33ms2456 KiB
5Hibás válasz0/33ms2564 KiB
6Hibás válasz0/23ms2964 KiB
7Hibás válasz0/23ms2916 KiB
8Hibás válasz0/23ms3164 KiB
9Elfogadva2/23ms3216 KiB
10Hibás válasz0/23ms3264 KiB
11Hibás válasz0/23ms3260 KiB
12Hibás válasz0/23ms3660 KiB
13Hibás válasz0/23ms3620 KiB
14Hibás válasz0/24ms3968 KiB
15Hibás válasz0/23ms3924 KiB
16Hibás válasz0/23ms3936 KiB
17Hibás válasz0/23ms4052 KiB
18Hibás válasz0/4101ms15168 KiB
19Hibás válasz0/4101ms15396 KiB
20Hibás válasz0/487ms11640 KiB
21Hibás válasz0/471ms7312 KiB
22Hibás válasz0/471ms7308 KiB
23Hibás válasz0/472ms7700 KiB
24Hibás válasz0/490ms12264 KiB
25Hibás válasz0/4101ms15484 KiB
26Hibás válasz0/476ms8832 KiB
27Hibás válasz0/496ms14612 KiB
28Hibás válasz0/478ms9584 KiB
29Hibás válasz0/476ms9064 KiB