結果
問題 |
No.1623 三角形の制作
|
ユーザー |
|
提出日時 | 2021-12-20 10:41:44 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 259 ms / 2,000 ms |
コード長 | 849 bytes |
コンパイル時間 | 14,030 ms |
コンパイル使用メモリ | 218,744 KB |
実行使用メモリ | 6,144 KB |
最終ジャッジ日時 | 2024-09-15 15:16:00 |
合計ジャッジ時間 | 19,286 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 19 |
ソースコード
package main import ( "fmt" "bufio" "os" ) func main() { r := bufio.NewReader(os.Stdin) w := bufio.NewWriter(os.Stdout) defer w.Flush() MAX := 3001 cnt_r := make([]int, MAX) cnt_g := make([]int, MAX) cnt_b := make([]int, MAX) var n int fmt.Fscan(r, &n) for i := 0; i < n; i++ { var x int fmt.Fscan(r, &x) cnt_r[x]++ } for i := 0; i < n; i++ { var x int fmt.Fscan(r, &x) cnt_g[x]++ } for i := 0; i < n; i++ { var x int fmt.Fscan(r, &x) cnt_b[x]++ } for i := 1; i < MAX; i++ { cnt_r[i] += cnt_r[i-1] cnt_g[i] += cnt_g[i-1] cnt_b[i] += cnt_b[i-1] } cnt := 0 for a := 1; a < MAX; a++ { if cnt_r[a] == cnt_r[a-1] { continue } rn := cnt_r[a] - cnt_r[a-1] for j := 1; j <= a; j++ { gn := cnt_g[j] - cnt_g[j-1] bn := cnt_b[a] - cnt_b[a-j] cnt += rn * gn * bn } } fmt.Fprintln(w, cnt) }