結果

問題 No.320 眠れない夜に
ユーザー threepipes_s
提出日時 2015-12-03 06:19:08
言語 Java
(openjdk 23)
結果
AC  
実行時間 137 ms / 2,000 ms
コード長 619 bytes
コンパイル時間 2,291 ms
コンパイル使用メモリ 74,716 KB
実行使用メモリ 41,576 KB
最終ジャッジ日時 2024-09-14 08:22:10
合計ジャッジ時間 8,317 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 31
権限があれば一括ダウンロードができます

ソースコード

diff #

import java.util.Scanner;
 
public class Main {
	public static void main(String[] args)
	{(new Solve()).solve();}
}

class Solve{
	void solve(){
		Scanner in = new Scanner(System.in);
		int n = in.nextInt();
		long m = in.nextLong();
		System.out.println(getMistake(n, m));
		in.close();
	}
	
	int getMistake(int n, long m){
		long[] fib = new long[n];
		fib[0] = fib[1] = 1;
		for(int i=2; i<n; i++){
			fib[i] = fib[i-1]+fib[i-2];
		}
		int count = 0;
		long diff = fib[n-1]-m;
		for(int i=n-3; i>=0; i--){
			if(diff>=fib[i]){
				diff -= fib[i];
				count++;
			}
			if(diff==0) return count;
		}
		return -1;
	}
}
0