結果
| 問題 |
No.2501 Maximum Inversion Number
|
| コンテスト | |
| ユーザー |
tails
|
| 提出日時 | 2023-10-13 22:51:50 |
| 言語 | cLay (20241019-1) |
| 結果 |
AC
|
| 実行時間 | 38 ms / 2,000 ms |
| コード長 | 442 bytes |
| コンパイル時間 | 3,760 ms |
| コンパイル使用メモリ | 175,776 KB |
| 実行使用メモリ | 7,680 KB |
| 最終ジャッジ日時 | 2024-09-15 18:36:53 |
| 合計ジャッジ時間 | 3,549 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 17 |
ソースコード
ll@t;
rep(t){
ll@n,@m,@l[n],@r[n];
if(sum(l(n))>m||sum(r(n))<m){
wt(-1);
}else{
ll a=-1,b=m+2;
while(a+1<b){
ll c=a+b>>1;
ll s=0;
rep(i,n){
s+=min(max(c,l[i]),r[i]);
}
if(s<=m){
a=c;
}else{
b=c;
}
}
ll s=m;
rep(i,n){
s-=min(max(a,l[i]),r[i]);
}
ll y=0,z=0;
rep(i,n){
ll x=min(max(a,l[i]),r[i]);
if(s>0&&x==a&&x<r[i]){
--s;
++x;
}
z+=y*x;
y+=x;
}
wt(z);
}
}
tails