結果

問題 No.1604 Swap Sort:ONE
ユーザー ks2mks2m
提出日時 2021-07-16 21:34:22
言語 Java21
(openjdk 21)
結果
AC  
実行時間 210 ms / 2,000 ms
コード長 596 bytes
コンパイル時間 1,659 ms
コンパイル使用メモリ 74,636 KB
実行使用メモリ 45,348 KB
最終ジャッジ日時 2024-07-06 08:31:05
合計ジャッジ時間 7,133 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 109 ms
41,220 KB
testcase_01 AC 99 ms
41,168 KB
testcase_02 AC 110 ms
41,036 KB
testcase_03 AC 101 ms
41,196 KB
testcase_04 AC 102 ms
41,100 KB
testcase_05 AC 170 ms
44,548 KB
testcase_06 AC 208 ms
44,772 KB
testcase_07 AC 199 ms
44,344 KB
testcase_08 AC 200 ms
44,344 KB
testcase_09 AC 203 ms
45,152 KB
testcase_10 AC 205 ms
44,868 KB
testcase_11 AC 200 ms
45,340 KB
testcase_12 AC 205 ms
45,348 KB
testcase_13 AC 197 ms
44,960 KB
testcase_14 AC 198 ms
45,008 KB
testcase_15 AC 200 ms
44,432 KB
testcase_16 AC 210 ms
45,080 KB
testcase_17 AC 175 ms
43,576 KB
testcase_18 AC 176 ms
43,040 KB
testcase_19 AC 196 ms
44,380 KB
testcase_20 AC 175 ms
43,004 KB
testcase_21 AC 195 ms
43,924 KB
testcase_22 AC 183 ms
44,004 KB
testcase_23 AC 163 ms
42,608 KB
testcase_24 AC 149 ms
42,088 KB
testcase_25 AC 193 ms
44,488 KB
testcase_26 AC 177 ms
43,876 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

import java.util.Scanner;

public class Main {
	public static void main(String[] args) throws Exception {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int[] p = new int[n];
		for (int i = 0; i < n; i++) {
			p[i] = sc.nextInt() - 1;
		}
		sc.close();

		int[] a = new int[n];
		for (int i = 0; i < n; i++) {
			a[p[i]] = i;
		}

		int ans = 0;
		for (int i = 0; i < n; i++) {
			if (p[i] == i) {
				continue;
			}
			while (p[i] > i) {
				int x = a[p[i] - 1];
				a[p[i] - 1] = i;
				a[p[i]] = x;
				p[i]--;
				p[x]++;
				ans++;
			}
		}
		System.out.println(ans);
	}
}
0