結果
| 問題 |
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;
}