羅区:P4995ジャンプ!(普及/改善-、貪欲)

トピック:

ここに画像の説明を挿入

分析:最高、最低。

コード:

#include<bits/stdc++.h>
using namespace std;
int main()
{
    
    
 int m;
 vector<int> v;
 cin>>m;
 for(int i=0;i<m;i++)
 {
    
    
  int c; cin>>c;  v.push_back(c);
  } 
 sort(v.begin(),v.end());
 int a1=0,a2=v.size()-1;
 int ok=0;
 int last=0;
 int ans=0;
 for(int i=0;i<v.size();i++)
 {
    
    
  if(ok==0)
  {
    
    
   ans+=(v[a2]-last)*(v[a2]-last);
   last=v[a2];
   a2--;
   ok=1;
  }
  else{
    
    
   ans+=(v[a1]-last)*(v[a1]-last);
   last=v[a1];
   a1++;
   ok=0;
  }
 }
 cout<<ans;
}

おすすめ

転載: blog.csdn.net/weixin_42721412/article/details/108500899