結果
問題 | No.5020 Averaging |
ユーザー |
![]() |
提出日時 | 2024-10-21 15:54:08 |
言語 | Go (1.23.4) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,085 bytes |
コンパイル時間 | 11,381 ms |
コンパイル使用メモリ | 223,120 KB |
実行使用メモリ | 8,088 KB |
スコア | 0 |
最終ジャッジ日時 | 2024-10-21 15:55:27 |
合計ジャッジ時間 | 73,738 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | TLE * 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<80000; lp++ {copy(ta,a)copy(tb,b)tu:=make([]int,50,50)tv:=make([]int,50,50)for i:=0;i<48;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)zp,zq:=-1,-1for p:=1;p<n;p++ {for q:=1;q<n;q++ {aa:=(ta[p]+ta[0])/2bb:=(tb[p]+tb[0])/2aa=(ta[q]+aa)/2bb=(tb[q]+bb)/2s:=max(abs(aa-X),abs(bb-X))if s<zs {zs,zp,zq=s,p,q}}}if zs>0&&zs<best {tu[48],tv[48]=0,zptu[49],tv[49]=0,zqbest,u,v=zs,tu,tv}}Println(len(u))for i,ui:=range u {Println(ui+1,v[i]+1)}}