らての精進日記

修行をします

aoj0024:Physical Experiments

解法

先にn階から落としたときの地面とぶつかる瞬間の速度をすべて求めておく。あとはそれぞれの入力に対してlower_boundで殴り返す。

コード

#include<bits/stdc++.h>
using namespace std;

double v[100000];
int main(){
    for(int i=1;i<100000;i++)v[i]=sqrt((5*i-5)/4.9)*9.8;

    double r;
    while(cin>>r)cout<<lower_bound(v,v+100000,r)-v<<endl;

    return 0;
}