結果
| 問題 | No.2408 Lakes and Fish | 
| コンテスト | |
| ユーザー |  ID 21712 | 
| 提出日時 | 2025-05-04 21:29:30 | 
| 言語 | Go (1.23.4) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 230 ms / 2,000 ms | 
| コード長 | 536 bytes | 
| コンパイル時間 | 12,784 ms | 
| コンパイル使用メモリ | 238,392 KB | 
| 実行使用メモリ | 8,076 KB | 
| 最終ジャッジ日時 | 2025-05-04 21:29:49 | 
| 合計ジャッジ時間 | 17,499 ms | 
| ジャッジサーバーID (参考情報) | judge2 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 19 | 
ソースコード
package main
import . "fmt"
import . "os"
import bf "bufio"
import . "sort"
func main() {
	rd := bf.NewReader(Stdin)
	var n, m int
	Fscan(rd,&n,&m)
	ls := make([]int, n)
	for i := range ls {
		Fscan(rd,&ls[i])
	}
	var ans int
	for i := 0; i < m; i++ {
		var f,b,w int
		Fscan(rd,&f,&b,&w)
		j := min(n-1, SearchInts(ls, f))
		tmp := b
		for d := j-1; d <= j+1; d++ {
			if 0 <= d && d < len(ls) {
				if ls[d] == f {
					tmp = w
				} else {
					tmp = max(tmp, w-max(ls[d]-f,f-ls[d]))
				}
			}
		}
		ans += tmp
	}
	Println(ans)
}
            
            
            
        