結果
問題 | No.14 最小公倍数ソート |
ユーザー |
|
提出日時 | 2025-05-09 23:16:48 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,046 bytes |
コンパイル時間 | 3,426 ms |
コンパイル使用メモリ | 284,688 KB |
実行使用メモリ | 7,844 KB |
最終ジャッジ日時 | 2025-05-09 23:17:57 |
合計ジャッジ時間 | 67,380 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 12 TLE * 8 |
ソースコード
#include <bits/stdc++.h> using namespace std; int my_gcd(int a, int b) { if(b==0) return a; return my_gcd(b, a%b); } int my_lcm(int a, int b) { return a/my_gcd(a,b)*b; } /////////////////// メイン /////////////////// int main () { //////////////////// 入力 //////////////////// int n; cin >> n; vector<pair<int,int>> a(n); for (int i=0; i<n; i++) { cin >> a.at(i).second; } reverse(a.begin(),a.end()); //////////////// 出力変数定義 //////////////// vector<int> result(0); //////////////////// 処理 //////////////////// while (a.size()>0) { result.emplace_back(a.back().second); a.pop_back(); for (auto& p : a) { p.first = my_lcm(p.second,result.back()); } sort(a.begin(),a.end(),greater<>()); } //////////////////// 出力 //////////////////// for (size_t i=0; i<result.size(); i++) { cout << result.at(i); if (i!=result.size()-1) { cout << " "; } } cout << endl; //////////////////// 終了 //////////////////// return 0; }