結果
問題 |
No.846 メダル
|
ユーザー |
|
提出日時 | 2020-07-02 22:15:14 |
言語 | C++17(clang) (17.0.6 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 1,099 bytes |
コンパイル時間 | 1,082 ms |
コンパイル使用メモリ | 137,240 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-30 18:56:18 |
合計ジャッジ時間 | 1,974 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 22 |
ソースコード
#include <iostream> #include <vector> #include <string> #include <utility> #include <algorithm> #include <climits> #include <map> #include <queue> #include <cmath> #include <set> #include <stdexcept> using namespace std; using int64 = long long; bool ng(int64 p, int64 a, int64 n, int64 m) { cerr << p << " " << a << " " << n << " " << m << " " << (n+p-1)/p - m << endl; return (n+p-1)/p - m != a; } int main() { int64 p,q,r,a,b,c; cin >> p >> q >> r >> a >> b >> c; int64 _max = min({p*a, q*(b+a), r*(c+a+b)}); cerr << p*a << " " << q*(b+a) << " " << r*(c+a+b) << endl; int64 _min = max({(a-1)*p, (a+b-1)*q, (a+b+c-1)*r}) + 1; cerr << (_min) << endl; cerr << (_max) << endl; if (_min > _max) { cout << -1 << endl; return 0; } if (ng(p,a,_max,0) || ng(q,b,_max,a) || ng(r,c,_max,a+b)) { cout << -1 << endl; return 0; } cerr<<"test"<<endl; if (ng(p,a,_min,0) || ng(q,b,_min,a) || ng(r,c,_min,a+b)) { cout << -1 << endl; return 0; } cout << _min << " " << _max << endl; }