【题解】「AT4266」[ABC113B] Palace

AT4266 [ABC113B] Palace

水题解*n

translation

(n) 个地方,第 (i) 个地方的海拔为 (H_i),该地方的温度为 (T-H_i imes 0.006)
求哪个地方的温度离 (A) 最近。

solution

我们可以每次输入 (H_i) 后计算温度,并将温度值减 (A) 并取绝对值,与 (ans) 比较,若小于之前的 (ans) 则记录 (i) 的值。

code

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <cmath>
#include <string>
#include <iomanip>
#define line cout << endl
using namespace std;

int n, t, a, num;
double ans = 1e9;

int main() {
	cin >> n;
	cin >> t >> a;
	for (int i = 1; i <= n; i++) {
		int h;
		cin >> h;
		double _t = t - h * 0.006;
		if (ans > abs(_t - a)) {
			ans = abs(_t - a);
			num = i;
		}
	}
	cout << num << endl;
	return 0;
}

submissions

洛谷 | AtCoder

原文地址:https://www.cnblogs.com/-TNT-/p/solution-at4266.html