結果
問題 |
No.2517 Right Triangles on Circle
|
ユーザー |
![]() |
提出日時 | 2025-04-30 18:56:35 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 233 ms / 2,000 ms |
コード長 | 719 bytes |
コンパイル時間 | 14,149 ms |
コンパイル使用メモリ | 240,380 KB |
実行使用メモリ | 18,412 KB |
最終ジャッジ日時 | 2025-04-30 18:56:55 |
合計ジャッジ時間 | 16,607 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 29 |
ソースコード
package main import . "fmt" import . "os" import bf "bufio" func main() { rd := bf.NewReader(Stdin) var n, m int Fscan(rd,&n,&m) a := make([]int, n) for i := range a { Fscan(rd,&a[i]) } // P_i は単位円上の点 // ゆえに、直角三角形を作る場合 // 長辺は円の中心を通る直径であり、180°反対側にある // 2 * PI * abs(A_i - A_j) / M == PI // -> 2 * abs(A_i - A_j) == M // -> M は偶数が必要条件? // A_i > A_j とするなら -> A_i == M / 2 + A_j // ホンマか? if m % 2 != 0 { Println(0) return } t := map[int]bool{} for _, v := range a { t[v] = true } var ans int for _, v := range a { if t[m/2+v] { ans += n-2 } } Println(ans) }