結果
問題 | No.750 Frac #1 |
ユーザー |
![]() |
提出日時 | 2023-05-07 21:00:37 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 665 bytes |
コンパイル時間 | 1,585 ms |
コンパイル使用メモリ | 165,996 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-24 19:56:28 |
合計ジャッジ時間 | 2,888 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 30 |
ソースコード
#include <bits/stdc++.h> using namespace std; class Frac { public: int a, b, x; Frac() { a = b = x = 0; } }; bool compare(Frac a, Frac b) { return a.x > b.x; } int main() { int n; cin >> n; Frac frac[n]; for (int i = 0; i < n; i++) { cin >> frac[i].a >> frac[i].b; } set<int> memo; for (int i = 0; i < n; i++) { memo.insert(frac[i].b); } int d = 1; for (set<int>::iterator it = memo.begin(); it != memo.end(); it++) { d *= *it; } for (int i = 0; i < n; i++) { frac[i].x = frac[i].a * d / frac[i].b; } sort(frac, frac+n, compare); for (int i = 0; i < n; i++) { cout << frac[i].a << " " << frac[i].b << endl; } return 0; }