結果
問題 |
No.14 最小公倍数ソート
|
ユーザー |
![]() |
提出日時 | 2021-03-03 07:13:28 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 963 bytes |
コンパイル時間 | 1,715 ms |
コンパイル使用メモリ | 168,872 KB |
実行使用メモリ | 10,020 KB |
最終ジャッジ日時 | 2024-10-03 03:06:30 |
合計ジャッジ時間 | 8,467 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 4 TLE * 1 -- * 15 |
コンパイルメッセージ
main.cpp: In function 'int main()': main.cpp:38:118: warning: 'ind' may be used uninitialized [-Wmaybe-uninitialized] 38 | if(natural_lcm(answer[i],answer[j])<lcm || (natural_lcm(answer[i],answer[j])==lcm && answer[j]<answer[ind])){ | ^ main.cpp:34:13: note: 'ind' was declared here 34 | int lcm,ind; | ^~~
ソースコード
#include <bits/stdc++.h> using namespace std; int natural_gcd(int a,int b){ int m,M; if(a>b){ M=a; m=b; }else{ M=b; m=a; } int temp; while(m>0){ temp=m; m=M%m; M=temp; } return M; } int natural_lcm(int a,int b){ return a*b/natural_gcd(a,b); } int main(){ int n; cin>>n; vector<int> answer(n); for(int i=0;i<n;i++){ cin>>answer[i]; } int lcm,ind; for(int i=0;i<n-1;i++){ lcm=INT_MAX; for(int j=i+1;j<n;j++){ if(natural_lcm(answer[i],answer[j])<lcm || (natural_lcm(answer[i],answer[j])==lcm && answer[j]<answer[ind])){ lcm=natural_lcm(answer[i],answer[j]); ind=j; } } lcm=answer[i+1]; answer[i+1]=answer[ind]; answer[ind]=lcm; } for(int i=0;i<n-1;i++){ cout<<answer[i]<<" "; } cout<<answer[n-1]<<endl; }