結果
問題 |
No.837 Noelちゃんと星々2
|
ユーザー |
|
提出日時 | 2020-05-03 22:53:56 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 859 bytes |
コンパイル時間 | 1,716 ms |
コンパイル使用メモリ | 171,728 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-23 03:48:05 |
合計ジャッジ時間 | 3,776 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 9 WA * 20 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define rep(i, n) for (llong i = 0; i < (llong)(n); i++) #define llong long long int main() { llong n; cin >> n; vector<llong> y(n); rep(i, n) cin >> y[i]; sort(y.begin(), y.end()); if(y[0] == y[n-1]) { cout << "1\n"; } else { llong maxdiff = 0; //前の方 int idx = -1; rep(i, n-1) { if(maxdiff <= y[i+1] - y[i]) { if((maxdiff < y[i+1] - y[i]) || (abs(idx - n/2) > abs(i - n/2))) idx = i; maxdiff = y[i+1] - y[i]; } } int bef = y[idx / 2]; int aft = y[(idx+n) / 2]; llong result = 0; rep(i, n) { if(i <= idx) result += abs(bef - y[i]); else result += abs(aft - y[i]); } cout << result << "\n"; } }