Submission #424659

#TimeUsernameProblemLanguageResultExecution timeMemory
424659tc_abdFibonacci representations (CEOI18_fib)C++14
0 / 100
4029 ms6476 KiB
#define fast ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0) #define mem(dp,x) memset(dp,x,sizeof(dp)) #define pii pair<int,int> #include <bits/stdc++.h> #define pll pair<ll,ll> #define ll long long #define pb push_back #define mid (l+r)/2 #define S second #define F first using namespace std; const int inf = 1e9+9; const int mod = 1e9+7; ll n; ll a[109]; ll F[109]; ll dp[19][20009]; ll bt(ll id,ll sum){ if(sum < 0) return 0; if(id == 16){ if(sum == 0) return 1; return 0; } ll &ret = dp[id][sum]; if(ret != -1) return ret; ret = (bt(id+1,sum)+bt(id+1,sum-F[id]))%mod; return ret; } int main(){ fast,cin>>n; for(int i=0;i<n;i++){ cin>>a[i]; } F[1] = 1; F[2] = 2; for(int i=3;i<=15;i++){ F[i] = F[i-1] + F[i-2]; } ll sum = 0; mem(dp,-1); for(int i=0;i<n;i++){ sum += F[a[i]]; cout<<bt(1,sum)<<endl; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...