結果
問題 | No.846 メダル |
ユーザー | forest3 |
提出日時 | 2020-03-30 14:57:06 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 670 bytes |
コンパイル時間 | 1,551 ms |
コンパイル使用メモリ | 167,040 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-12 06:41:38 |
合計ジャッジ時間 | 2,526 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 22 |
ソースコード
#include <bits/stdc++.h> using namespace std; int main() { long long P, Q, R, A, B, C; cin >> P >> Q >> R >> A >> B >> C; long long npmax = A * P; long long nqmax = (B + A) * Q; long long nrmax = (C + B + A) * R; long long ma = min( npmax, min( nqmax, nrmax ) ); long long r = ma + 1; long long l = 0; int flag = 0; while( r - l > 1 ) { long long m = ( l + r ) / 2; long long a = (m + P - 1) / P; long long b = (m + Q - 1) / Q - a; long long c = (m + R - 1) / R - a - b; if( a != A || b != B || c != C ) l = m; else { r = m; flag = 1; } } long long mi = r; if( flag == 0 ) cout << -1 << endl; else cout << mi << " " << ma << endl; }