結果

問題 No.320 眠れない夜に
ユーザー tenten
提出日時 2021-01-21 09:44:22
言語 Java
(openjdk 23)
結果
AC  
実行時間 142 ms / 2,000 ms
コード長 663 bytes
コンパイル時間 1,905 ms
コンパイル使用メモリ 79,236 KB
実行使用メモリ 41,328 KB
最終ジャッジ日時 2024-12-24 07:05:02
合計ジャッジ時間 7,267 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 31
権限があれば一括ダウンロードができます

ソースコード

diff #

import java.util.*;

public class Main {
	public static void main (String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		long m = sc.nextLong();
		long[] fibo = new long[n + 1];
		fibo[1] = 1;
		fibo[2] = 1;
		for (int i = 3; i <= n; i++) {
		    fibo[i] = fibo[i - 1] + fibo[i - 2];
		}
		long diff = fibo[n] - m;
		if (diff < 0) {
		    System.out.println(-1);
		    return;
		}
		int count = 0;
		for (int i = n - 2; i >= 0 && diff > 0; i--) {
		    if (diff >= fibo[i]) {
		        count++;
		        diff -= fibo[i];
		    }
		}
		if (diff > 0) {
		    System.out.println(-1);
		} else {
		    System.out.println(count);
		}
	}
}
0