5732 2023. 09. 10 17:35:28 kukkerman Következő permutáció (50 pont) cpp14 Elfogadva 50/50 7ms 5204 KiB
#include <iostream>
#include <vector>

std::vector<int> beolvas(std::istream &in) {
    size_t n;
    in >> n;

    std::vector<int> v(n);
    for (auto i = 0u; i < n; i++) {
        in >> v[i];
    }

    return v;
}

void feldolgoz(std::vector<int> v) {
    const size_t n = v.size();

    size_t i;
    for (i = n - 1; v[i] < v[i - 1]; i--) {}
    i--;

    size_t j;
    for (j = n - 1; v[j] < v[i]; j--) {}

    for (auto k = 0u; k < i; k++) {
        std::cout << v[k] << ' ';
    }

    std::cout << v[j] << ' ' << v[i] << ' ';

    for (auto k = j + 1; k < n; k++) {
        std::cout << v[k] << ' ';
    }

    for (auto k = j - 1; k > i; k--) {
        std::cout << v[k] << ' ';
    }

    std::cout << std::endl;
}

int main() {
    auto v = beolvas(std::cin);
    feldolgoz(std::move(v));

    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 2088 KiB
2 Elfogadva 0/0 4ms 2276 KiB
3 Elfogadva 1/1 3ms 2372 KiB
4 Elfogadva 1/1 2ms 2456 KiB
5 Elfogadva 1/1 3ms 2656 KiB
6 Elfogadva 1/1 3ms 2756 KiB
7 Elfogadva 2/2 3ms 3000 KiB
8 Elfogadva 2/2 2ms 3156 KiB
9 Elfogadva 2/2 2ms 3404 KiB
10 Elfogadva 2/2 2ms 3592 KiB
11 Elfogadva 1/1 2ms 3676 KiB
12 Elfogadva 1/1 2ms 3652 KiB
13 Elfogadva 1/1 2ms 3692 KiB
14 Elfogadva 1/1 3ms 3940 KiB
15 Elfogadva 3/3 2ms 4020 KiB
16 Elfogadva 3/3 3ms 4024 KiB
17 Elfogadva 3/3 3ms 4032 KiB
18 Elfogadva 3/3 3ms 4304 KiB
19 Elfogadva 3/3 4ms 4272 KiB
20 Elfogadva 3/3 6ms 4316 KiB
21 Elfogadva 3/3 6ms 4404 KiB
22 Elfogadva 3/3 7ms 4468 KiB
23 Elfogadva 3/3 7ms 4504 KiB
24 Elfogadva 3/3 6ms 4572 KiB
25 Elfogadva 2/2 7ms 4880 KiB
26 Elfogadva 2/2 7ms 5204 KiB