結果
問題 | No.456 Millions of Submits! |
ユーザー |
![]() |
提出日時 | 2016-12-08 01:16:44 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2,775 ms / 4,500 ms |
コード長 | 4,086 bytes |
コンパイル時間 | 1,143 ms |
コンパイル使用メモリ | 94,000 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-23 05:56:44 |
合計ジャッジ時間 | 10,481 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 13 |
コンパイルメッセージ
main.cpp: In function ‘void mainmain()’: main.cpp:131:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 131 | scanf("%d", &m); | ~~~~~^~~~~~~~~~ main.cpp:172:22: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 172 | scanf("%d%d%Lf", &a, &b, &t); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~
ソースコード
#include <cstdlib>#include <cmath>#include <climits>#include <cfloat>#include <map>#include <set>#include <iostream>#include <string>#include <vector>#include <algorithm>#include <sstream>#include <complex>#include <stack>#include <queue>#include <cstdio>#include <cstring>#include <iterator>#include <bitset>#include <unordered_set>#include <unordered_map>#include <fstream>#include <iomanip>#include <cassert>//#include <utility>//#include <memory>//#include <functional>//#include <deque>//#include <cctype>//#include <ctime>//#include <numeric>//#include <list>//#include <iomanip>//#if __cplusplus >= 201103L//#include <array>//#include <tuple>//#include <initializer_list>//#include <forward_list>////#define cauto const auto&//#else//#endifusing namespace std;typedef long long ll;typedef pair<int,int> pii;typedef pair<ll,ll> pll;typedef vector<int> vint;typedef vector<vector<int> > vvint;typedef vector<long long> vll, vLL;typedef vector<vector<long long> > vvll, vvLL;#define VV(T) vector<vector< T > >template <class T>void initvv(vector<vector<T> > &v, int a, int b, const T &t = T()){v.assign(a, vector<T>(b, t));}template <class F, class T>void convert(const F &f, T &t){stringstream ss;ss << f;ss >> t;}#undef _P#define _P(...) (void)printf(__VA_ARGS__)#define reep(i,a,b) for(int i=(a);i<(b);++i)#define rep(i,n) reep((i),0,(n))#define ALL(v) (v).begin(),(v).end()#define PB push_back#define F first#define S second#define mkp make_pair#define RALL(v) (v).rbegin(),(v).rend()#define DEBUG#ifdef DEBUG#define dump(x) cout << #x << " = " << (x) << endl;#define debug(x) cout << #x << " = " << (x) << " (L" << __LINE__ << ")" << " " << __FILE__ << endl;#else#define dump(x)#define debug(x)#endif#define MOD 1000000007LL#define EPS 1e-10#define INF 0x3f3f3f3f#define INFL 0x3f3f3f3f3f3f3f3fLL#define maxs(x,y) x=max(x,y)#define mins(x,y) x=min(x,y)#define double long doubledouble powmod(double x,int y){double a=1;while(y){if(y&1) a=a*x;x=x*x;y>>=1;}return a;}inline double f(int a, int b, double x){return powmod(x, a) * powmod(logl(x), b);}// double pre[11][11][100010];int a,b;double t;double solve(int a, int b, double x){double l = 0;double r = 1024;rep(i,100){double mid = (l+r)/2;double val = f(a, b, mid);if(x<val) r=mid;else l=mid;}return l;}void mainmain(){int m;scanf("%d", &m);// rep(i,11){// rep(j,11){// if(i==0&&j==0) continue;// reep(k,1000,10000){// if(pre[i][j][k]==0){// if(i==0){// pre[i][j][k]=pow(M_E, pow(k/10000., 1./j));// }// else if(j==0){// pre[i][j][k]=pow(k/10000., 1./i);// }// else{// pre[i][j][k]=solve(i,j,k/10000.);// }// }// if(k*pre[i][j][k]<100010) pre[i+1][j][min(int(k*pre[i][j][k]), 100009)]=pre[i][j][k];// if(k*logl(pre[i][j][k])<100010) pre[i][j+1][min(int(k*logl(pre[i][j][k])), 100009)]=pre[i][j][k];// else break;// }// }// }// rep(i,11){// rep(j,11){// reep(k,1, 100010){// if(pre[i][j][k]==0){// pre[i][j][k]=pre[i][j][k-1];// }// }// for(int k=100010-2;k>=0;k--){// if(pre[i][j][k]==0){// pre[i][j][k]=pre[i][j][k+1];// }// }// }// }// assert(m<100000);// double MX = 0;// double MN = 1e100;rep(_,m){// if(_%10000==0) printf("%d\n", _);scanf("%d%d%Lf", &a, &b, &t);if(a==0){double ans = powl(M_E, powl(t, 1./b));printf("%.10Lf\n", ans);continue;}else if(b==0){double ans = powl(t, 1./a);printf("%.10Lf\n", ans);continue;}// int tt = t * 10000;// double l = pre[a][b][tt]-5;// double r = pre[a][b][tt]+5;double l = 1;double r = 6;rep(i,50){double mid = (l+r)/2;double val = f(a, b, mid);// cout << mid << " " << val << endl;if(t <= val) r = mid;else l = mid;}// maxs(MX, l);// mins(MN, l);printf("%.10Lf\n", l);}// printf("%Lf, %Lf\n", MX, MN);}signed main() {mainmain();}