結果
問題 | No.320 眠れない夜に |
ユーザー |
![]() |
提出日時 | 2015-12-15 12:55:09 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 1,024 bytes |
コンパイル時間 | 1,953 ms |
コンパイル使用メモリ | 160,360 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-09-15 13:02:07 |
合計ジャッジ時間 | 3,063 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 31 |
ソースコード
#define _USE_MATH_DEFINES#define _CRT_SECURE_NO_WARNINGS#include "bits/stdc++.h"#define rep(i,n) for(int i = 0;i < n;i++)#define REP(i,n,k) for(int i = n;i < k;i++)#define P(p) cout<<(p)<<endl;#define pi 3.1415926535using namespace std;typedef long long ll;typedef unsigned long long ull;int dx[] = { 0, 1, 0, -1 };int dy[] = { -1, 0, 1, 0 };unsigned long long sttoi(std::string str) {unsigned long long ret;std::stringstream ss; ss << str;ss >> ret;return ret;}ll gcd(ll a, ll b){if (b > a)swap(a, b);if (b == 0) return a;return gcd(b, a%b);}ll fibo[100];ll calc(int n){if (fibo[n] != -1) return fibo[n];else return fibo[n] = calc(n - 1) + calc(n - 2);}void solve() {int n;ll m;fill(fibo, fibo + 100, -1);fibo[1] = 1;fibo[2] = 1;cin >> n >> m;ll g = calc(n)-m;int ans = 0;if (fibo[n] < m){P(-1);return;}for (int i = n-2; i > 0; i--){if (g == 0)break;if (fibo[i] <= g){ans++;g -= fibo[i];}}P(ans);}int main() {solve();return 0;}