結果

問題 No.837 Noelちゃんと星々2
ユーザー aaaaaaiu
提出日時 2019-08-22 19:39:33
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 69 ms / 2,000 ms
コード長 598 bytes
コンパイル時間 2,411 ms
コンパイル使用メモリ 195,716 KB
最終ジャッジ日時 2025-01-07 14:38:29
ジャッジサーバーID
(参考情報)
judge1 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 29
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

ll f(int l,int r,int a[],ll sum[]) {
    int m=(l+r)/2;
    return ((ll)m-l)*a[m]-(sum[m]-sum[l])+(sum[r]-sum[m])-((ll)r-m)*a[m];
}

int main() {
    int n;
    cin>>n;
    int a[n];
    for (int i=0;i<n;i++)
        cin>>a[i];
    sort(a,a+n);
    if (a[0]==a[n-1]) {
        puts("1");
        return 0;
    }
    ll sum[n+1];
    sum[0]=0;
    for (int i=1;i<=n;i++)
        sum[i]=sum[i-1]+a[i-1];
    ll ans=1e18;
    for (int i=1;i<n;i++)
        ans=min(ans,f(0,i,a,sum)+f(i,n,a,sum));
    cout<<ans<<endl;
    return 0;
}
0