1353. 滑雪场设计【难度: 一般 / 知识点: 枚举 贪心】

在这里插入图片描述
https://www.acwing.com/problem/content/1355/
山的数据范围很小,直接暴力枚举即可。

#include<bits/stdc++.h>
using namespace std;
const int N=1100;
int n,a[N];
int main(void)
{
    
    
    cin>>n;
    for(int i=0;i<n;i++) cin>>a[i];
    int ans=1e9;
    for(int i=0;i<=83;i++)//枚举最低高度
    {
    
    
        int h=i+17,sum=0;
        for(int j=0;j<n;j++)
        {
    
    
            if(a[j]>h) sum+=(a[j]-h)*(a[j]-h);//高于最高的高度
            else if(a[j]<i) sum+=(i-a[j])*(i-a[j]);//低于最低的高度
        }
        ans=min(ans,sum);
    }
    cout<<ans<<endl;
    return 0;
}

Guess you like

Origin blog.csdn.net/qq_46527915/article/details/121185136