結果
問題 | No.1465 Archaea |
ユーザー |
![]() |
提出日時 | 2021-04-02 22:10:27 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 86 ms / 2,000 ms |
コード長 | 2,555 bytes |
コンパイル時間 | 2,788 ms |
コンパイル使用メモリ | 78,832 KB |
実行使用メモリ | 38,460 KB |
最終ジャッジ日時 | 2024-12-24 01:19:39 |
合計ジャッジ時間 | 5,022 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 20 |
ソースコード
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.Closeable; import java.io.FileInputStream; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.math.BigInteger; import java.util.*; public class Main { static ContestScanner in;static Writer out;static StringBuilder sb=new StringBuilder(); public static void main(String[] args) {try{in=new ContestScanner();out=new Writer();Main solve=new Main();solve.solve(); in.close();out.flush();out.close();}catch(IOException e){e.printStackTrace();}} void solve() throws NumberFormatException, IOException{ int n = in.nextInt(); int k = in.nextInt(); int[] dp = new int[n + 1]; Arrays.fill(dp, Integer.MAX_VALUE); dp[1] = 0; for (int i = 1; i < n; i++) { if (dp[i] >= k) continue; if (i * 2 <= n) dp[i * 2] = Math.min(dp[i * 2], dp[i] + 1); if (i + 3 <= n) dp[i + 3] = Math.min(dp[i + 3], dp[i] + 1); } System.out.println(dp[n] <= k ? "YES" : "NO"); } } class Writer extends PrintWriter{ public Writer(String filename)throws IOException {super(new BufferedWriter(new FileWriter(filename)));} public Writer()throws IOException{super(System.out);} } class ContestScanner implements Closeable{ private BufferedReader in;private int c=-2; public ContestScanner()throws IOException {in=new BufferedReader(new InputStreamReader(System.in));} public ContestScanner(String filename)throws IOException {in=new BufferedReader(new InputStreamReader(new FileInputStream(filename)));} public String nextToken()throws IOException { StringBuilder sb=new StringBuilder(); while((c=in.read())!=-1&&Character.isWhitespace(c)); while(c!=-1&&!Character.isWhitespace(c)){sb.append((char)c);c=in.read();} return sb.toString(); } public String readLine()throws IOException{ StringBuilder sb=new StringBuilder();if(c==-2)c=in.read(); while(c!=-1&&c!='\n'&&c!='\r'){sb.append((char)c);c=in.read();} return sb.toString(); } public long nextLong()throws IOException,NumberFormatException {return Long.parseLong(nextToken());} public int nextInt()throws NumberFormatException,IOException {return(int)nextLong();} public double nextDouble()throws NumberFormatException,IOException {return Double.parseDouble(nextToken());} public void close() throws IOException {in.close();} }