Advertisement
Guest User

Untitled

a guest
Apr 24th, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.52 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main() {
  6.     int n, k;
  7.     cin >> n >> k;
  8.     int a[k];
  9.     for (int i = 0; i < k; i++)
  10.         cin >> a[i];
  11.     int L, R;
  12.     cin >> L >> R;
  13.     bool dp[n + 1][2];
  14.     int pr[n + 1];
  15.     dp[0][0] = dp[0][1] = pr[0] = 0;
  16.     for (int i = 1; i <= n; i++) {
  17.         dp[i][0] = 0;
  18.         for (int j = 0; j < k; j++) {
  19.             if (i >= a[j])
  20.                 dp[i][0] |= !dp[i - a[j]][1];
  21.         }
  22.         pr[i] = pr[i - 1] + dp[i][0];
  23.         dp[i][1] = ((R >= i) || ((pr[i - L] - pr[i - R - 1]) != (R - L + 1)));
  24.     }
  25.     cout << (dp[n][0] ? 1 : 2);
  26. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement