結果
問題 |
No.2693 Sword
|
ユーザー |
![]() |
提出日時 | 2024-11-09 20:49:33 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 71 ms / 2,000 ms |
コード長 | 480 bytes |
コンパイル時間 | 13,710 ms |
コンパイル使用メモリ | 225,712 KB |
実行使用メモリ | 8,192 KB |
最終ジャッジ日時 | 2024-11-09 20:49:48 |
合計ジャッジ時間 | 15,515 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 29 |
ソースコード
package main import . "fmt" import . "math/big" func main() { var n,k int p:=new(Int) Scan(&n,p,&k) dp:=make([]*Int,k+1) dp[0]=p b:=new(Int) for ;n>0;n-- { var t int Scan(&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(1e18))>0 { Println(-1) } else { Println(dp[k]) } }