Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void solve()
- {
- int n, m;
- cin >> n >> m;
- int dp[n+1] = {};
- dp[0] = 1;
- dp[1] = 1;
- for (int i=0; i<m; i++)
- {
- int x;
- cin >> x;
- dp[x] = -1;
- }
- for (int i=2; i<=n; i++)
- {
- if (~dp[i])
- {
- if(~dp[i-1]) dp[i] = (dp[i] + dp[i-1])%mod;
- if(~dp[i-2]) dp[i] = (dp[i] + dp[i-2])%mod;
- }
- }
- cout << max(0, dp[n]);
- }
Advertisement
Add Comment
Please, Sign In to add comment