結果
問題 | No.555 世界史のレポート |
ユーザー |
![]() |
提出日時 | 2017-08-11 22:49:45 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 156 ms / 2,000 ms |
コード長 | 752 bytes |
コンパイル時間 | 2,394 ms |
コンパイル使用メモリ | 88,188 KB |
実行使用メモリ | 42,404 KB |
最終ジャッジ日時 | 2024-10-12 21:33:35 |
合計ジャッジ時間 | 5,887 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 20 |
ソースコード
import java.util.Arrays; import java.util.Scanner; import java.util.stream.IntStream; public class Main{ static IntStream REPS(int v){return IntStream.range(0,v);} static IntStream REPS(int l,int r){return IntStream.rangeClosed(l,r);} static IntStream INS(int n) {return REPS(n).map(i->getInt());} static Scanner s=new Scanner(System.in); static int getInt(){return Integer.parseInt(s.next());} public static void main(String[]$){ int n=getInt(); long c=getInt(),v=getInt(); long[]dp=new long[n*2+1]; Arrays.fill(dp,Long.MAX_VALUE); dp[1]=0; for(int i=1;i<=n*2;++i){ for(int j=1;j*i+i<=n*2;++j) { dp[j*i+i]=Math.min(dp[j*i+i],dp[i]+c+v*j); } } System.out.println(REPS(n,n*2).mapToLong(i->dp[i]).min().getAsLong()); } }