結果
問題 | No.5020 Averaging |
ユーザー |
![]() |
提出日時 | 2024-10-21 14:53:16 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 729 ms / 1,000 ms |
コード長 | 980 bytes |
コンパイル時間 | 11,486 ms |
コンパイル使用メモリ | 240,640 KB |
実行使用メモリ | 8,180 KB |
スコア | 31,475,090 |
最終ジャッジ日時 | 2024-10-21 14:54:07 |
合計ジャッジ時間 | 49,620 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
純コード判定しない問題か言語 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 50 |
ソースコード
package mainimport . "fmt"import "math/rand"const X=5e17func abs(a int64) int64 {if a<0 {return -a}return a}func max(a,b int64) int64 {if a<b {return b}return a}func main() {var n intScan(&n)a:=make([]int64,n,n)b:=make([]int64,n,n)for i:=range a {Scan(&a[i],&b[i])}var u,v []intvar best int64 = X+Xta:=make([]int64,n,n)tb:=make([]int64,n,n)for lp:=0; lp<200000; lp++ {copy(ta,a)copy(tb,b)tu:=make([]int,50,50)tv:=make([]int,50,50)for i:=0;i<49;i++ {p:=rand.Intn(n)q:=(p+rand.Intn(n-1)+1)%ntu[i],tv[i]=p,qaa:=(ta[p]+ta[q])/2bb:=(tb[p]+tb[q])/2ta[p],tb[p]=aa,bbta[q],tb[q]=aa,bb}zs:=int64(X+X)zi:=-1for i:=1;i<n;i++ {aa:=(ta[0]+ta[i])/2bb:=(tb[0]+tb[i])/2s:=max(abs(aa-X),abs(bb-X))if s<zs {zs,zi=s,i}}if zi>0&&zs<best {tu[49],tv[49]=0,zibest,u,v=zs,tu,tv}}Println(len(u))for i,ui:=range u {Println(ui+1,v[i]+1)}}