Submission #36025099


Source Code Expand

#include <bits/stdc++.h>
using namespace std;

int main() {
    int n;
    cin >> n;
    vector<int> p(n);
    for (int i = 0; i < n; ++i) {
        cin >> p[i];
    }
    int j = n - 2;
    while (p[j] < p[j + 1]) {
        j -= 1;
    }
    int k = n - 1;
    while (p[j] < p[k]) {
        k -= 1;
    }
    swap(p[j], p[k]);
    reverse(begin(p) + j + 1, end(p));
    for (int i = 0; i < n; ++i) {
        cout << p[i] << " \n"[i + 1 == n];
    }
    return 0;
}

Submission Info

Submission Time
Task C - Previous Permutation
User KoD
Language C++ (GCC 9.2.1)
Score 300
Code Size 489 Byte
Status AC
Exec Time 7 ms
Memory 3564 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 2
AC × 12
Set Name Test Cases
Sample example_00.txt, example_01.txt
All example_00.txt, example_01.txt, test_00.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt
Case Name Status Exec Time Memory
example_00.txt AC 7 ms 3444 KiB
example_01.txt AC 2 ms 3432 KiB
test_00.txt AC 2 ms 3556 KiB
test_01.txt AC 2 ms 3344 KiB
test_02.txt AC 2 ms 3564 KiB
test_03.txt AC 2 ms 3432 KiB
test_04.txt AC 2 ms 3548 KiB
test_05.txt AC 2 ms 3556 KiB
test_06.txt AC 2 ms 3520 KiB
test_07.txt AC 2 ms 3484 KiB
test_08.txt AC 2 ms 3552 KiB
test_09.txt AC 2 ms 3492 KiB