結果

問題 No.326 あみだますたー
ユーザー h_noson
提出日時 2016-02-16 18:24:00
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
AC  
実行時間 10 ms / 2,000 ms
コード長 869 bytes
コンパイル時間 568 ms
コンパイル使用メモリ 62,940 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-11-07 23:27:49
合計ジャッジ時間 1,871 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 26
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <iostream>
#include <vector>
using namespace std;

int main() {
    int n, k;
    vector<pair<int,int>> bars;
    cin >> n >> k;
    int as[n+1];
    for (int i = 0; i < k; i++) {
        int x, y;
        cin >> x >> y;
        bars.push_back(make_pair(x,y));
    }
    for (int i = 1; i <= n; i++) {
        int a;
        cin >> a;
        as[i] = a;
    }
    for (auto p : bars)
        swap(as[p.first],as[p.second]);
    bars = {};
    for (int i = 1; i <= n; i++) {
        for (int j = i+1; j <= n; j++) {
            if (as[j] == i) {
                for (int l = j; l > i; l--) {
                    bars.push_back(make_pair(l-1,l));
                    swap(as[l-1],as[l]);
                }
            }
        }
    }
    cout << bars.size() << endl;
    for (auto p : bars)
        cout << p.first << " " << p.second << endl;
    return 0;
}

0