148962025-02-06 13:10:12TortelliniJrKocsirendezőcpp17Elfogadva 100/10032ms804 KiB
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int min_moves_to_sort_cars(int N, vector<int>& P) {
    // Find the position where sorting starts
    int pos = 0;
    for (int i = 1; i < N; ++i) {
        if (P[i] < P[i - 1]) {
            pos = i;
            break;
        }
    }

    // Check if already sorted
    if (pos == 0) return 0;

    // Check if sorting is possible
    for (int i = pos + 1; i < N; ++i) {
        if (P[i] < P[i - 1]) return -1;
    }
    if (P[N - 1] > P[0]) return -1;

    return N - pos;
}

int main() {
    int N;
    cin >> N;
    vector<int> P(N);
    for (int i = 0; i < N; ++i) {
        cin >> P[i];
    }

    int result = min_moves_to_sort_cars(N, P);
    cout << result << endl;

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Elfogadva1ms508 KiB
subtask230/30
3Elfogadva1ms316 KiB
4Elfogadva1ms316 KiB
5Elfogadva1ms316 KiB
6Elfogadva1ms316 KiB
7Elfogadva1ms316 KiB
8Elfogadva1ms316 KiB
9Elfogadva1ms316 KiB
10Elfogadva1ms316 KiB
11Elfogadva1ms512 KiB
12Elfogadva1ms316 KiB
13Elfogadva1ms508 KiB
14Elfogadva1ms316 KiB
15Elfogadva1ms508 KiB
16Elfogadva1ms316 KiB
17Elfogadva1ms380 KiB
18Elfogadva1ms316 KiB
19Elfogadva1ms400 KiB
20Elfogadva1ms316 KiB
21Elfogadva1ms336 KiB
22Elfogadva3ms316 KiB
23Elfogadva1ms508 KiB
24Elfogadva1ms320 KiB
25Elfogadva1ms316 KiB
subtask370/70
26Elfogadva1ms316 KiB
27Elfogadva1ms316 KiB
28Elfogadva2ms316 KiB
29Elfogadva3ms316 KiB
30Elfogadva4ms316 KiB
31Elfogadva8ms496 KiB
32Elfogadva8ms316 KiB
33Elfogadva17ms628 KiB
34Elfogadva29ms784 KiB
35Elfogadva29ms768 KiB
36Elfogadva30ms780 KiB
37Elfogadva30ms564 KiB
38Elfogadva32ms804 KiB
39Elfogadva32ms804 KiB