結果
問題 | 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();}}