結果
| 問題 |
No.2517 Right Triangles on Circle
|
| コンテスト | |
| ユーザー |
ID 21712
|
| 提出日時 | 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)
}
ID 21712