結果
問題 | No.456 Millions of Submits! |
ユーザー |
![]() |
提出日時 | 2016-12-09 00:09:05 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2,460 ms / 4,500 ms |
コード長 | 602 bytes |
コンパイル時間 | 1,886 ms |
コンパイル使用メモリ | 157,916 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-23 16:39:59 |
合計ジャッジ時間 | 11,134 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 13 |
コンパイルメッセージ
main.cpp: In function ‘int main()’: main.cpp:8:8: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 8 | scanf("%d", &M); | ~~~~~^~~~~~~~~~ main.cpp:12:10: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 12 | scanf("%d %d %lf", &A, &B, &T); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
ソースコード
#include <bits/stdc++.h> using namespace std; int main() { int M; scanf("%d", &M); while(M--) { int A, B; double T; scanf("%d %d %lf", &A, &B, &T); if(A == 0) { printf("%.12lf\n", exp(pow(T, 1.0 / B))); } else if(B == 0) { printf("%.12f\n", pow(T, 1.0 / A)); } else { double low = 1, high = exp(10); T = log(T); for(int i = 0; i < 45; i++) { double mid = (low + high) * 0.5; double lgg = log(mid); if(A * lgg + B * log(lgg) >= T) high = mid; else low = mid; } printf("%.12lf\n", low); } } }