結果
| 問題 | No.14 最小公倍数ソート |
| コンテスト | |
| ユーザー |
ytft
|
| 提出日時 | 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;
}
ytft