Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Written by Sayutin Dmitry
- #include <bits/stdc++.h>
- using namespace std;
- template <typename T>
- T input() {
- T res;
- cin >> res;
- return res;
- }
- #define ALL(A) A.begin(), A.end()
- #define SZ(A) int(A.size())
- int main() {
- std::iostream::sync_with_stdio(false);
- cin.tie(NULL);
- cout.tie(NULL);
- int n = input<int>();
- const int max_go = 49;
- bool good[max_go + 1][max_go + 1];
- for (int i = 0; i <= max_go; ++i)
- for (int j = 0; j <= max_go; ++j)
- good[i][j] = 1;
- for (int i = 0; i <= max_go; ++i)
- for (int j = 0; j <= max_go; ++j)
- for (int iprime = 0; iprime <= max_go; ++iprime)
- for (int jprime = 0; jprime <= max_go; ++jprime)
- if (4 * iprime + 9 * jprime < 4 * i + 9 * j and (4 * i + 9 * j) % 49 == (4 * iprime + 9 * jprime) % 49)
- good[i][j] = 0;
- int64_t ans = 0;
- for (int num4 = 0; num4 <= n and num4 <= max_go and num4 < 9; ++num4)
- for (int num9 = 0; num9 + num4 <= n and num9 <= max_go; ++num9)
- if (good[num4][num9])
- ans += (n - num9 - num4 + 1);
- cout << ans << "\n";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement