AT4266题解

· · 题解

思路

循环输入 h,如果求出的温度减去 a 摄氏度要比之前的最小温度小,那么最小温度就等于它,输出的序号等于 i

代码


#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
using namespace std;
typedef long long ll;
inline int read()
{
    int x=0,f=1;char ch=getchar();
    while (!isdigit(ch)){if (ch=='-') f=-1;ch=getchar();}
    while (isdigit(ch)){x=x*10+ch-48;ch=getchar();}
    return x*f;
}
int main()
{
    double minn=100000000000000.0;
    int n,t,a,l;
    n=read();
    t=read();
    a=read();
    for(int i=0;i<n;++i){
        int h=read();
        if(abs(t-h*0.006-a)<minn)
            minn=abs(t-h*0.006-a),l=i+1;
    }
    cout<<l;
    return 0;
}