AtCoder Beginner Contest 149
問題文
省略
省略
C++に変換後のコードはこちら
int N; ll M;
int A[1d5];
ll sm[1d5+1];
{
int i, j, x;
ll ok, res = 0;
rd(N,M,A(N));
sortA(N,A);
rep(i,N) sm[i+1] = sm[i] + A[i];
x = bsearch_max[int,x,0,2d5][
ok = j = 0;
rrep(i,N){
while(j < N && A[i] + A[j] < x) j++;
if(j==N) break;
ok += N - j;
}
](ok >= M);
ok = j = 0;
rrep(i,N){
while(j < N && A[i] + A[j] < x) j++;
if(j==N) break;
ok += N - j;
res += (ll) A[i] * (N-j);
res += sm[N] - sm[j];
}
res -= (ok - M) * x;
wt(res);
}
Current time: 2024年04月26日22時03分02秒
Last modified: 2020年01月19日05時11分58秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder AtCoder_Beginner_Contest ABC149 ABC_E
トップページに戻る
Logged in as: unknown user (not login)