結果
問題 | No.326 あみだますたー |
ユーザー |
|
提出日時 | 2017-06-28 12:33:40 |
言語 | D (dmd 2.109.1) |
結果 |
AC
|
実行時間 | 8 ms / 2,000 ms |
コード長 | 599 bytes |
コンパイル時間 | 947 ms |
コンパイル使用メモリ | 103,976 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-12 20:36:11 |
合計ジャッジ時間 | 1,771 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 26 |
ソースコード
import std.algorithm, std.conv, std.range, std.stdio, std.string; void main() { auto n = readln.chomp.to!size_t; auto k = readln.chomp.to!size_t; auto b = n.iota.array; foreach (_; 0..k) { auto rd = readln.split.to!(size_t[]).map!"a-1".array, x = rd[0], y = rd[1]; swap(b[x], b[y]); } auto a = readln.split.to!(size_t[]).map!"a-1".array; size_t[] r; foreach (i; 0..n-1) { auto j = b.countUntil(a.countUntil(i)); foreach_reverse (s; i..j) { r ~= s; swap(b[s], b[s+1]); } } writeln(r.length); foreach (ri; r) writeln(ri+1, " ", ri+2); }