結果
| 問題 | No.3534 Make Many Fences |
| コンテスト | |
| ユーザー |
ID 21712
|
| 提出日時 | 2026-05-10 00:53:26 |
| 言語 | Go (1.26.1) |
| 結果 |
AC
|
| 実行時間 | 110 ms / 1,000 ms |
| コード長 | 1,110 bytes |
| 記録 | |
| コンパイル時間 | 18,787 ms |
| コンパイル使用メモリ | 291,248 KB |
| 実行使用メモリ | 6,400 KB |
| 最終ジャッジ日時 | 2026-05-10 00:53:50 |
| 合計ジャッジ時間 | 17,479 ms |
|
ジャッジサーバーID (参考情報) |
judge1_1 / judge2_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 9 |
ソースコード
package main
import . "fmt"
import . "os"
import bf "bufio"
func main() {
rd:=bf.NewReader(Stdin)
wr:=bf.NewWriter(Stdout)
defer wr.Flush()
var t int
Fscan(rd,&t)
for ; t > 0 ; t-- {
var n, m int
Fscan(rd, &n,&m)
ans := solve(n, m)
Fprintln(wr,ans)
}
}
func solve(n, m int) int {
c := min(n/4, m/2)
n -= 4*c
m -= 2*c
ans := 3*c
c = n/10
n -= 10*c
ans += 6*c
c = n/6
ans += 3*c
return ans
}
func solve2(n, m int) int {
ans := 0
for c := max(n,m); c > 0; c-- {
nn := c*4
mm := c*2
if mm > m {
need := mm-m
x := (need+3)/4
nn += 2*x
}
if nn > n {
continue
}
ans = 3*c
break
}
return ans
}
func solve3(n,m int) int {
c := 0
for k:=max(n,m); k>=0; k-- {
nn := n-2*k
mm := m+4*k
c = max(c, min(nn/4,mm/2))
}
return c*3
}
func init() {
check()
}
func check() {
for n:=0; n<=200; n++ {
for m:=0; m<=200; m++ {
a1 := solve(n,m)
a2 := solve2(n,m)
a3 := solve3(n,m)
if a1 != a2 || a1 != a3 {
println("a1=",a1)
println("a2=",a2)
println("a3=",a3)
println("n=",n)
println("m=",m)
panic("WA")
}
}
}
}
ID 21712