結果
問題 | No.2693 Sword |
ユーザー |
![]() |
提出日時 | 2024-11-09 20:48:22 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 68 ms / 2,000 ms |
コード長 | 487 bytes |
コンパイル時間 | 13,726 ms |
コンパイル使用メモリ | 239,184 KB |
実行使用メモリ | 8,192 KB |
最終ジャッジ日時 | 2024-11-09 20:48:38 |
合計ジャッジ時間 | 14,005 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 29 |
ソースコード
package mainimport . "fmt"import . "math/big"func main() {var n,k intp:=new(Int)Scan(&n,p,&k)dp:=make([]*Int,k+1)dp[0]=pb:=new(Int)for ;n>0;n-- {var t intScan(&t,b)for i:=k-1;i>=0;i-- {if dp[i]==nil {continue}x:=new(Int)if t==1 {x.Add(dp[i],b)} else {x.Add(dp[i],dp[i])}if e:=dp[i+1];e==nil||e.Cmp(x)<0 {dp[i+1]=x}}}if dp[k].Cmp(NewInt(int64(1e18)))>0 {Println(-1)} else {Println(dp[k])}}