結果

問題 No.320 眠れない夜に
ユーザー imulan
提出日時 2016-02-22 16:18:59
言語 C++11
(gcc 4.8.5)
結果
AC  
実行時間 3 ms
コード長 681 Byte
コンパイル時間 1,023 ms
使用メモリ 1,500 KB
最終ジャッジ日時 2018-09-24 17:53:54

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
manual-1.txt AC 2 ms
1,500 KB
manual-2.txt AC 3 ms
1,492 KB
manual-3.txt AC 2 ms
1,496 KB
manual-4.txt AC 2 ms
1,496 KB
manual-5.txt AC 3 ms
1,496 KB
random-large-0.txt AC 3 ms
1,500 KB
random-large-1.txt AC 3 ms
1,496 KB
random-large-2.txt AC 3 ms
1,500 KB
random-large-3.txt AC 3 ms
1,500 KB
random-large-4.txt AC 3 ms
1,500 KB
random-large-5.txt AC 3 ms
1,500 KB
random-large-6.txt AC 3 ms
1,496 KB
random-large-7.txt AC 2 ms
1,500 KB
random-large-8.txt AC 3 ms
1,500 KB
random-large-9.txt AC 3 ms
1,496 KB
random-large-10.txt AC 3 ms
1,496 KB
random-large-11.txt AC 2 ms
1,496 KB
random-large-12.txt AC 2 ms
1,496 KB
random-small-0.txt AC 2 ms
1,496 KB
random-small-1.txt AC 2 ms
1,500 KB
random-small-2.txt AC 3 ms
1,500 KB
random-small-3.txt AC 3 ms
1,496 KB
random-small-4.txt AC 2 ms
1,496 KB
random-small-5.txt AC 3 ms
1,496 KB
random-small-6.txt AC 2 ms
1,496 KB
random-small-7.txt AC 2 ms
1,496 KB
random-small-8.txt AC 2 ms
1,496 KB
random-small-9.txt AC 3 ms
1,496 KB
random-small-10.txt AC 2 ms
1,500 KB
random-small-11.txt AC 2 ms
1,500 KB
random-small-12.txt AC 2 ms
1,500 KB
sample-1.txt AC 2 ms
1,500 KB
sample-2.txt AC 2 ms
1,500 KB
sample-3.txt AC 2 ms
1,500 KB
sample-4.txt AC 3 ms
1,500 KB
テストケース一括ダウンロード

ソースコード

diff #
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
#define rep(i,n) for(i=0;i<n;++i)
#define each(itr,c) for(__typeof(c.begin()) itr=c.begin(); itr!=c.end(); ++itr)
#define mp make_pair
#define pb push_back
#define fi first
#define sc second

int main(int argc, char const *argv[]) {
  int i;

  ll a[81]={0};
  a[1]=a[2]=1;
  for(i=3; i<=80; ++i) a[i]=a[i-1]+a[i-2];
  
  int n;
  ll m;
  cin >>n >>m;

  //本来の値とどれくらい離れているか
  ll d=a[n]-m;

  int ans=0;
  ll now=n-2;
  while(now>0 || d>0){
    if(d-a[now]>=0){
      d-=a[now];
      ++ans;
    }
    --now;
  }

  if(d!=0) ans=-1;

  std::cout << ans << std::endl;
  return 0;
}
0