結果
問題 | No.397 NO MORE KADOMATSU |
ユーザー |
![]() |
提出日時 | 2019-07-14 05:35:04 |
言語 | C (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 27 ms / 2,000 ms |
コード長 | 698 bytes |
コンパイル時間 | 294 ms |
コンパイル使用メモリ | 30,080 KB |
実行使用メモリ | 25,220 KB |
平均クエリ数 | 36.83 |
最終ジャッジ日時 | 2024-07-17 02:18:23 |
合計ジャッジ時間 | 1,929 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 18 |
ソースコード
// yukicoder: No.397 NO MORE KADOMATSU // 2019.7.14 bal4u #include <stdio.h> typedef struct { int u, v; } T; T t[105]; int sz; int a[105]; int N; void swap(int u, int v) { int x; t[sz].u = u, t[sz++].v = v; x = a[u], a[u] = a[v], a[v] = x; } int main() { int i, j, mi; scanf("%d", &N); mi = 101; for (i = 0; i < N; i++) { scanf("%d", a+i); if (a[i] < mi) mi = a[i], j = i; } if (j) swap(0, j); for (i = 1; i < N; i++) if (a[i] != a[i-1]) { mi = i; for (j = i+1; j < N; j++) if (a[j] < a[mi]) mi = j; if (mi != i) swap(i, mi); } printf("%d\n", sz), fflush(stdout); for (i = 0; i < sz; i++) printf("%d %d\n", t[i].u, t[i].v), fflush(stdout); scanf("%d", &N); return 0; }