結果
問題 | No.326 あみだますたー |
ユーザー |
|
提出日時 | 2016-06-28 18:33:19 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 10 ms / 2,000 ms |
コード長 | 795 bytes |
コンパイル時間 | 578 ms |
コンパイル使用メモリ | 63,564 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-08 00:25:37 |
合計ジャッジ時間 | 1,628 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 26 |
ソースコード
#include <iostream> #include <vector> #include <algorithm> using namespace std; int main(){ int N,K; vector<int> q; cin >> N; cin >> K; int *X = new int[K]; int *Y = new int[K]; int *info = new int[N]; for(int i = 0; i < K ; i++){ cin >> X[i]; cin >> Y[i]; } for(int i = 0 ; i < N ; i++){ cin >> info[i]; } for(int i = 0 ; i < K ; i++){ swap(info[X[i]-1],info[Y[i]-1]); } for(int i = 0 ; i < N ; i++){ for(int j = i; j < N ; j++){ if(info[j]==(i+1)){ for(int k = j;k>i;k--){ swap(info[k],info[k-1]); q.push_back(k); } } } } // for(int i = 0; i < N ; i++){ // cout << info[i] ; // } cout << q.size()<<endl; for(int i:q){ cout << i << " " << (i+1)<<endl; } delete[] X; delete[] info; }