結果
問題 | No.453 製薬会社 |
ユーザー |
![]() |
提出日時 | 2016-12-04 23:26:45 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 1,010 bytes |
コンパイル時間 | 814 ms |
コンパイル使用メモリ | 85,512 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-27 19:59:07 |
合計ジャッジ時間 | 1,316 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 9 |
ソースコード
/* -*- coding: utf-8 -*- * * 453.cc: No.453 製薬会社 - yukicoder */ #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<iostream> #include<string> #include<vector> #include<map> #include<set> #include<stack> #include<list> #include<queue> #include<deque> #include<algorithm> #include<numeric> #include<utility> #include<complex> #include<functional> using namespace std; /* constant */ typedef long double ld; const ld DELTA = 1.0e-12; /* typedef */ /* global variables */ /* subroutines */ ld price(ld a, ld c, ld d) { ld c0 = c - a * 3 / 4; ld d0 = d - a / 4; ld b = min(c0 * 7 / 2, d0 * 7 / 5); return a + b * 2; } /* main */ int main() { ld c, d; cin >> c >> d; ld maxa = min(c * 4 / 3, d * 4); ld la = 0.0, ra = maxa; while (la + DELTA < ra) { ld a0 = (la * 2 + ra) / 3; ld a1 = (la + ra * 2) / 3; if (price(a0, c, d) < price(a1, c, d)) la = a0; else ra = a1; } printf("%.9Lf\n", price(ra, c, d) * 1000); return 0; }