結果

問題 No.3057 Tree Distance Set
ユーザー suisen
提出日時 2025-03-15 01:12:39
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 690 bytes
コンパイル時間 1,041 ms
コンパイル使用メモリ 79,868 KB
実行使用メモリ 7,324 KB
最終ジャッジ日時 2025-03-15 01:12:41
合計ジャッジ時間 2,108 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 20
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <algorithm>
#include <iostream>
#include <vector>

int main() {
    int k;
    std::cin >> k;
    std::vector<int> d(k);
    for (auto &e : d) std::cin >> e;
    std::sort(d.rbegin(), d.rend());

    std::cout << 2 * k << '\n';
    int u = 1, w = d[0];
    for (int i = 1; i < k; ++i) {
        std::cout << u << ' ' << u + 2 << ' ' << w - d[i] / 2 << '\n';
        std::cout << u + 1 << ' ' << u + 2 << ' ' << d[i] / 2 << '\n';
        u += 2;
        w = d[i] / 2;
    }
    std::cout << u << ' ' << u + 1 << ' ' << w << '\n';
    std::cout << k + 1 << '\n';
    std::cout << 1;
    for (int i = 1; i <= k; ++i) {
        std::cout << ' ' << 2 * i;
    }
    std::cout << '\n';
}
0