题解「AT4266」[ABC113B] Palace
Posted -tnt-
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了题解「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
以上是关于题解「AT4266」[ABC113B] Palace的主要内容,如果未能解决你的问题,请参考以下文章
AT_abc106_d [ABC106D] AtCoder Express 2 题解
题解 AT3718 [ABC081B] Shift only
题解 AT3717 [ABC081A] Placing Marbles