8103 2024. 01. 12 13:27:54 Ablablabla Rendező robot (80 pont) cpp17 Hibás válasz 4/80 101ms 15484 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 Összpont Teszt Verdikt Idő Memória
base 4/80
1 Hibás válasz 0/0 3ms 1940 KiB
2 Elfogadva 0/0 3ms 2020 KiB
3 Elfogadva 2/2 3ms 2248 KiB
4 Hibás válasz 0/3 3ms 2456 KiB
5 Hibás válasz 0/3 3ms 2564 KiB
6 Hibás válasz 0/2 3ms 2964 KiB
7 Hibás válasz 0/2 3ms 2916 KiB
8 Hibás válasz 0/2 3ms 3164 KiB
9 Elfogadva 2/2 3ms 3216 KiB
10 Hibás válasz 0/2 3ms 3264 KiB
11 Hibás válasz 0/2 3ms 3260 KiB
12 Hibás válasz 0/2 3ms 3660 KiB
13 Hibás válasz 0/2 3ms 3620 KiB
14 Hibás válasz 0/2 4ms 3968 KiB
15 Hibás válasz 0/2 3ms 3924 KiB
16 Hibás válasz 0/2 3ms 3936 KiB
17 Hibás válasz 0/2 3ms 4052 KiB
18 Hibás válasz 0/4 101ms 15168 KiB
19 Hibás válasz 0/4 101ms 15396 KiB
20 Hibás válasz 0/4 87ms 11640 KiB
21 Hibás válasz 0/4 71ms 7312 KiB
22 Hibás válasz 0/4 71ms 7308 KiB
23 Hibás válasz 0/4 72ms 7700 KiB
24 Hibás válasz 0/4 90ms 12264 KiB
25 Hibás válasz 0/4 101ms 15484 KiB
26 Hibás válasz 0/4 76ms 8832 KiB
27 Hibás válasz 0/4 96ms 14612 KiB
28 Hibás válasz 0/4 78ms 9584 KiB
29 Hibás válasz 0/4 76ms 9064 KiB