結果
問題 | No.198 キャンディー・ボックス2 |
ユーザー |
|
提出日時 | 2024-12-05 16:57:03 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 1,060 bytes |
コンパイル時間 | 1,868 ms |
コンパイル使用メモリ | 169,352 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-12-05 16:58:41 |
合計ジャッジ時間 | 2,412 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 26 |
ソースコード
#include<bits/stdc++.h>#define ll long long#define endl "\n";using namespace std;ll sigma(ll w){double a;a=((double)w/2)*((double)w+1);return (ll)a;}int main(){ll a,b=0,c=0,d,e,f,suma,sumb,will=0;cin >>a;cin >>b;d=2000000000;vector <ll> q(b);will=a;for (int i=0; i<b; i++){cin >>q[i];will+=q[i];}d=will/b;// cout <<d<<endlwhile(d-c>2){e=c+(d-c)/3;f=c+((d-c)/3)*2;suma=0;sumb=0;for (int j=0; j<b; j++){suma+=abs(q[j]-e);sumb+=abs(q[j]-f);}if(suma>sumb){c=e;}else if(suma<sumb){d=f;}else {c=e;d=f;}}// ll min=INT64_MAX,size=4;vector <ll> p(4);for (int o=0; o<b; o++){p[0]+=abs(q[o]-c-1);p[1]+=abs(q[o]-c);p[2]+=abs(q[o]-d);p[3]+=abs(q[o]-d+1);}cout <<*min_element(p.begin(),p.end())<<endlreturn 0;}/*c e f dansa->eansb->f*/