結果
問題 | No.320 眠れない夜に |
ユーザー |
![]() |
提出日時 | 2019-06-07 14:50:44 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 1,254 bytes |
コンパイル時間 | 733 ms |
コンパイル使用メモリ | 95,844 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-05 06:00:15 |
合計ジャッジ時間 | 1,941 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 31 |
ソースコード
#include<iostream>#include<cstdio>#include<cstring>#include <cstdlib>#include <math.h>#include <cmath>#include<cctype>#include<string>#include<set>#include<iomanip>#include <map>#include<algorithm>#include <functional>#include<vector>#include<climits>#include<stack>#include<queue>#include<bitset>#include <deque>#include <climits>#include <typeinfo>#include <utility>using namespace std;using ll = long long;using R = double;using Data = pair < ll, vector <ll>>;const ll MOD = 1e9 + 7;const ll inf = 1LL << 60;struct edge { ll from; ll to; ll cost; };typedef tuple<ll, ll, ll>T;typedef pair<ll, ll>pll;#define all(x) (x).begin(),(x).end()#define rep(i,m,n) for(ll i = m;i < n;++i)#define pb push_back#define fore(i,a) for(auto &i:a)#define rrep(i,m,n) for(ll i = m;i >= n;--i)#define INF INT_MAX/2ll N, M;ll fib[83];int main(){cin >> N >> M;fib[1] = fib[2] = 1;for (int i = 3; i <= 80; i++) {fib[i] = fib[i-1] + fib[i-2];}ll D = fib[N] - M;int ans = 0;if (D < 0) {cout << -1 << endl;}else {int cur = N-2;while (1) {if (fib[cur] <= D) {D -= fib[cur];ans++;cur--;}else {cur--;}if (D == 0)break;}cout << ans << endl;}return 0;}