結果
問題 |
No.14 最小公倍数ソート
|
ユーザー |
|
提出日時 | 2018-07-28 11:14:45 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 4,065 ms / 5,000 ms |
コード長 | 482 bytes |
コンパイル時間 | 1,280 ms |
コンパイル使用メモリ | 159,064 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-07-05 18:19:28 |
合計ジャッジ時間 | 45,800 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 20 |
ソースコード
//yuki14 #include <bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; vector<int> a(n); for(int i=0;i<n;i++){ cin>>a[i]; } for(int i=0;i<n-1;i++){ int pos=i+1; int res=INT_MAX; for(int j=pos;j<n;j++){ int temp=a[i]/__gcd(a[i],a[j])*a[j]; if(temp<res || (temp==res && a[j]<a[pos])){ res=temp; pos=j; } } swap(a[i+1],a[pos]); } for(int i=0;i<n;i++){ if(i==n-1) printf("%d\n",a[i]); else printf("%d ",a[i]); } return 0; }