ABC026-D 高橋君ボール1号
ABC026-D 高橋君ボール1号
考察
いかにも二分探索の問題です。解が複数あるケースもあるということで単純増加でないようですが,二分探索で解けそうです。
double型を使い、円周率は少数点以下14桁まで使いました。10桁目までだと誤差でWAしました。
水difですが今だと緑difもないかも知れません。
ACしたコード
#include <bits/stdc++.h> using namespace std; int A,B,C; double func(double x){ double ans=A*x+B*sin(C*x*3.14159265358979); return ans; } int main(){ cin>>A>>B>>C; double r=0; double l=1000000; int cnt=0; while(l-r != 0 && cnt<100000){ cnt++; double x=(l+r)/2; if(func(x)==100){ cout<<x<<endl; return 0; } if(func(x)<100){ r=x; } else{ l=x; } } cout<<setprecision(18)<<l<<endl; return 0; }