https://beta.atcoder.jp/contests/abc113/tasks/abc113_b
解説
https://beta.atcoder.jp/contests/abc113/submissions/3558578
温度がT-H[i]*0.006であり、小数になる可能性があるので、doubleで計算していこう。
全ての高さについて全探索しよう。
温度差はabs(A-t)で求められる。
これまでの温度差の最小値dminを保持しておき、その時の添字も保持しておくと、答えが出せる。
int N, T, A, H[1010]; //--------------------------------------------------------------------------------------------------- void _main() { cin >> N >> T >> A; rep(i, 0, N) cin >> H[i]; double dmin = 1e9, ans = -1; rep(i, 0, N) { double t = T - H[i] * 0.006; double d = abs(A - t); if (d < dmin) { dmin = d; ans = i; } } cout << (ans + 1) << endl; }