57322023-09-10 17:35:28kukkermanKövetkező permutáció (50 pont)cpp14Elfogadva 50/507ms5204 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ÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/03ms2088 KiB
2Elfogadva0/04ms2276 KiB
3Elfogadva1/13ms2372 KiB
4Elfogadva1/12ms2456 KiB
5Elfogadva1/13ms2656 KiB
6Elfogadva1/13ms2756 KiB
7Elfogadva2/23ms3000 KiB
8Elfogadva2/22ms3156 KiB
9Elfogadva2/22ms3404 KiB
10Elfogadva2/22ms3592 KiB
11Elfogadva1/12ms3676 KiB
12Elfogadva1/12ms3652 KiB
13Elfogadva1/12ms3692 KiB
14Elfogadva1/13ms3940 KiB
15Elfogadva3/32ms4020 KiB
16Elfogadva3/33ms4024 KiB
17Elfogadva3/33ms4032 KiB
18Elfogadva3/33ms4304 KiB
19Elfogadva3/34ms4272 KiB
20Elfogadva3/36ms4316 KiB
21Elfogadva3/36ms4404 KiB
22Elfogadva3/37ms4468 KiB
23Elfogadva3/37ms4504 KiB
24Elfogadva3/36ms4572 KiB
25Elfogadva2/27ms4880 KiB
26Elfogadva2/27ms5204 KiB