結果
| 問題 | No.3389 k-Days Later |
| コンテスト | |
| ユーザー |
ID 21712
|
| 提出日時 | 2025-12-01 03:26:59 |
| 言語 | Go (1.23.4) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 819 bytes |
| コンパイル時間 | 13,225 ms |
| コンパイル使用メモリ | 234,084 KB |
| 実行使用メモリ | 8,200 KB |
| 最終ジャッジ日時 | 2025-12-01 03:27:32 |
| 合計ジャッジ時間 | 28,548 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 8 WA * 20 |
ソースコード
package main
import . "fmt"
import . "os"
import bf "bufio"
func main() {
rd := bf.NewReader(Stdin)
wr := bf.NewWriter(Stdout)
defer wr.Flush()
var n int
Fscan(rd, &n)
ds := make([]int, n)
sum := make([]int, n+1)
for i := range ds {
Fscan(rd, &ds[i])
sum[i+1] = sum[i]+ds[i]
}
var q int
Fscan(rd, &q)
for ; q > 0; q-- {
var y,m,d,k int
Fscan(rd, &y, &m, &d, &k)
y += k / sum[n]
k = k % sum[n]
if k <= ds[m-1]-d {
Fprintln(wr, y, m, d+k)
continue
}
r := sum[n]-sum[m]+ds[m-1]-d
if k > r {
k -= r+1
y++
m, d = 1, 1
} else {
k -= ds[m-1]-d+1
m++
d = 1
}
p := 0
for i := 15; i >= 0; i-- {
t := p | (1 << i)
if t > n {
continue
}
if sum[t]-sum[m-1]-1 <= k {
p = t
}
}
d += k-(sum[p]-sum[m-1])
m = p+1
Fprintln(wr, y, m, d)
}
}
ID 21712