結果

問題 No.837 Noelちゃんと星々2
ユーザー utouto97utouto97
提出日時 2019-06-24 00:36:14
言語 C++11
(gcc 11.4.0)
結果
AC  
実行時間 48 ms / 2,000 ms
コード長 1,129 bytes
コンパイル時間 1,512 ms
コンパイル使用メモリ 163,192 KB
実行使用メモリ 5,376 KB
最終ジャッジ日時 2024-06-11 14:25:33
合計ジャッジ時間 2,954 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 46 ms
5,248 KB
testcase_01 AC 46 ms
5,376 KB
testcase_02 AC 46 ms
5,376 KB
testcase_03 AC 46 ms
5,376 KB
testcase_04 AC 45 ms
5,376 KB
testcase_05 AC 46 ms
5,376 KB
testcase_06 AC 46 ms
5,376 KB
testcase_07 AC 46 ms
5,376 KB
testcase_08 AC 48 ms
5,376 KB
testcase_09 AC 2 ms
5,376 KB
testcase_10 AC 2 ms
5,376 KB
testcase_11 AC 1 ms
5,376 KB
testcase_12 AC 2 ms
5,376 KB
testcase_13 AC 2 ms
5,376 KB
testcase_14 AC 1 ms
5,376 KB
testcase_15 AC 2 ms
5,376 KB
testcase_16 AC 2 ms
5,376 KB
testcase_17 AC 2 ms
5,376 KB
testcase_18 AC 2 ms
5,376 KB
testcase_19 AC 2 ms
5,376 KB
testcase_20 AC 1 ms
5,376 KB
testcase_21 AC 1 ms
5,376 KB
testcase_22 AC 1 ms
5,376 KB
testcase_23 AC 1 ms
5,376 KB
testcase_24 AC 1 ms
5,376 KB
testcase_25 AC 2 ms
5,376 KB
testcase_26 AC 1 ms
5,376 KB
testcase_27 AC 2 ms
5,376 KB
testcase_28 AC 1 ms
5,376 KB
testcase_29 AC 1 ms
5,376 KB
testcase_30 AC 1 ms
5,376 KB
testcase_31 AC 1 ms
5,376 KB
testcase_32 AC 2 ms
5,376 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

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

#define int long long
#define rep(i,l,r) for(int i=(int)(l);i<(int)(r);i++)
#define all(x) (x).begin(),(x).end()
#define pb push_back
template<class T>bool chmax(T &a,T b){if(a<b){a=b;return 1;}return 0;}
template<class T>bool chmin(T &a,T b){if(a>b){a=b;return 1;}return 0;}

typedef pair<int, int> pii;
typedef vector<int> vi;
typedef vector<vi> vvi;

const int inf = 1LL<<60;
const int mod = 1e9 + 7;
const double eps = 1e-9;

/*{
}*/

signed main(){
  int n;
  cin >> n;

  vi y(n);
  rep(i, 0, n) cin >> y[i];

  if(n == 2){
    cout << (y[0] == y[1]) << endl;
    return 0;
  }

  sort(all(y));

  if(y[0] == y[n-1]){
    cout << 1 << endl;
    return 0;
  }
  if(y[0] == y[n-2]){
    cout << 0 << endl;
    return 0;
  }
  
  vi s(n+1);
  rep(i, 0, n) s[i+1] = s[i] + y[i];

  int ans = inf;
  rep(i, 1, n){
    int m1 = i/2;
    int m2 = (i+n)/2;

    int t1 = y[m1]*m1 - s[m1];
    int t2 = s[i]-s[m1] - y[m1]*(i-m1);
    int t3 = y[m2]*(m2-i) - (s[m2]-s[i]);
    int t4 = s[n]-s[m2] - y[m2]*(n-m2);

    chmin(ans, t1+t2+t3+t4);
  }

  cout << ans << endl;

  return 0;
}
0