結果
| 問題 |
No.14 最小公倍数ソート
|
| コンテスト | |
| ユーザー |
imgry22
|
| 提出日時 | 2015-01-25 23:02:14 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,374 bytes |
| コンパイル時間 | 1,297 ms |
| コンパイル使用メモリ | 158,584 KB |
| 実行使用メモリ | 8,704 KB |
| 最終ジャッジ日時 | 2024-06-23 02:44:46 |
| 合計ジャッジ時間 | 8,221 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | WA * 4 TLE * 1 -- * 15 |
ソースコード
#include<bits/stdc++.h>
using namespace std;
typedef long long int ll;
typedef pair<int, int> pii;
typedef vector<int> vi;
typedef vector<pair<int, int> > vii;
#define rrep(i, m, n) for(int (i)=(m); (i)<(n); (i)++)
#define rep(i, n) for(int (i)=0; (i)<(n); (i)++)
#define rev(i, n) for(int (i)=(n)-1; (i)>=0; (i)--)
#define vrep(i, c) for(__typeof((c).begin())i=(c).begin(); i!=(c).end(); i++)
#define ALL(v) (v).begin(), (v).end()
#define mp make_pair#define pb push_back
template<class T1, class T2> inline void minup(T1& m, T2 x){ if(m>x) m=static_cast<T2>(x); }
template<class T1, class T2> inline void maxup(T1& m, T2 x){ if(m<x) m=static_cast<T2>(x); }
#define INF 1000000000LL
#define MOD 1000000009
#define EPS 1E-9
template<class T> T gcd(T a, T b)
{
T tmp;
while(b){
tmp = a;
a = b;
b = tmp%b;
}
return a;
}
template<class T> inline T lcm(T a, T b){ return a * (b / gcd(a, b)); }
const int MAX_N = 10000;
int n;
ll a[MAX_N];
ll tmp;
int main()
{
cin >> n;
rep(i, n) cin >> a[i];
rrep(i, 1, n-1){
ll mn = lcm(a[i-1], a[i]);
int k = i;
rrep(j, i+1, n){
tmp = lcm(a[i-1], a[j]);
if(mn > tmp || mn == tmp && a[i] > a[j]){
mn = tmp;
k = j;
}
}
swap(a[i], a[k]);
}
rep(i, n) cout << a[i] << " "; cout << "\b" << endl;
return 0;
}
imgry22