Submission #42719680


Source Code Expand

/*+Rainybunny+*/

#include <bits/stdc++.h>

#define rep(i, l, r) for (int i = l, rep##i = r; i <= rep##i; ++i)
#define per(i, r, l) for (int i = r, per##i = l; i >= per##i; --i)

typedef std::pair<int, int> PII;
#define fi first
#define se second

const int MAXN = 1e3;
int n, p[MAXN + 5];
std::vector<PII> ans;

int main() {
    scanf("%d", &n);
    rep (i, 1, n) scanf("%d", &p[i]);

    int cnt = 0;
    rep (i, 1, n) rep (j, i + 1, n) cnt += p[j] < p[i];
    if (cnt & 1) return puts("No"), 0;

    rep (i, 1, n - 1) {
        int x = std::find(p + 1, p + n + 1, i) - p;
        if (x == n) {
            ans.emplace_back(n - 2, n - 2);
            p[n] = p[n - 1], p[n - 1] = p[n - 2], p[n - 2] = i, x = n - 2;
        }
        if (x != i) {
            ans.emplace_back(x, i - 1);
            int y = p[x + 1];
            per (j, x - 1, i) p[j + 2] = p[j];
            p[i] = i, p[i + 1] = y;
        }
    }

    puts("Yes");
    printf("%zd\n", ans.size());
    for (auto [i, j]: ans) printf("%d %d\n", i, j);
    // rep (i, 1, n) printf("%d%c", p[i], "\n "[i < n]);
    return 0;
}

Submission Info

Submission Time
Task B - Insertion Sort 2
User Rainybunny
Language C++ (GCC 9.2.1)
Score 500
Code Size 1136 Byte
Status AC
Exec Time 15 ms
Memory 3652 KiB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:17:10: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   17 |     scanf("%d", &n);
      |     ~~~~~^~~~~~~~~~
./Main.cpp:18:24: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   18 |     rep (i, 1, n) scanf("%d", &p[i]);
      |                   ~~~~~^~~~~~~~~~~~~

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 3
AC × 26
Set Name Test Cases
Sample 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt
All 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt, 01_test_18.txt, 01_test_19.txt, 01_test_20.txt, 01_test_21.txt, 02_handmade_01.txt, 02_handmade_02.txt
Case Name Status Exec Time Memory
00_sample_01.txt AC 6 ms 3568 KiB
00_sample_02.txt AC 2 ms 3468 KiB
00_sample_03.txt AC 2 ms 3556 KiB
01_test_01.txt AC 2 ms 3560 KiB
01_test_02.txt AC 5 ms 3652 KiB
01_test_03.txt AC 3 ms 3560 KiB
01_test_04.txt AC 3 ms 3440 KiB
01_test_05.txt AC 4 ms 3480 KiB
01_test_06.txt AC 3 ms 3464 KiB
01_test_07.txt AC 2 ms 3480 KiB
01_test_08.txt AC 2 ms 3544 KiB
01_test_09.txt AC 3 ms 3460 KiB
01_test_10.txt AC 2 ms 3636 KiB
01_test_11.txt AC 4 ms 3644 KiB
01_test_12.txt AC 7 ms 3444 KiB
01_test_13.txt AC 2 ms 3388 KiB
01_test_14.txt AC 6 ms 3572 KiB
01_test_15.txt AC 3 ms 3496 KiB
01_test_16.txt AC 2 ms 3608 KiB
01_test_17.txt AC 2 ms 3564 KiB
01_test_18.txt AC 2 ms 3572 KiB
01_test_19.txt AC 2 ms 3560 KiB
01_test_20.txt AC 2 ms 3548 KiB
01_test_21.txt AC 2 ms 3468 KiB
02_handmade_01.txt AC 5 ms 3584 KiB
02_handmade_02.txt AC 15 ms 3600 KiB