1. 程式人生 > >P4995 跳跳!( 普及/提高-)————貪心

P4995 跳跳!( 普及/提高-)————貪心

題解:本題主要考查貪心。如果要值最大,就要高度差最大,所以先排序在剩餘的石頭中最大和最小來回跳就可以啦。
程式碼如下:

#include<iostream>
#include<algorithm>
using namespace std;
long long int a[310],num=0;
int n,i,p,q;
int main()
{
    cin>>n;	
    for(i=1;i<=n;i++)cin>>a[i];
    sort(a+1,a+1+n);
    p=0;q=n;
    while(p<q)
    {
        num=(a[q]-a[p])*(a[q]-a[p])+num;
        p++;
        num=(a[p]-a[q])*(a[p]-a[q])+num;
        q--;
    }
    cout<<num;
    return 0;
}