Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <algorithm>
- using namespace std;
- int main()
- {
- long long m;
- int n;
- cin >> m >> n;
- int nums[10], sznums = 0, r = 10, need = 1, cnt = 0;
- for (int i = 1; i <= n; i++)r *= 10, need *= 2;
- for (int i = 1; i <= r; i++)
- {
- int cur = 0, prev = i, tt = n, a = prev;
- while (1)
- {
- while (tt&&a > 0)
- {
- nums[sznums] = a % 10;
- sznums++;
- a /= 10;
- tt--;
- }
- prev--;
- if (!tt || prev == 0)break;
- a = prev;
- }
- for (int j = sznums - 1; j >= 0; j--)cur = cur * 10 + nums[j];
- sznums = 0;
- if (cur%need == 0)cnt++;
- }
- long long ans = (long long)(m / r)*(long long)cnt;
- bool ttt = false;
- if (m < r)ttt = true;
- for (int i = 1; i <= (m%r); i++)
- {
- int cur = 0, prev = i, tt = n, a = prev;
- while (1)
- {
- while (tt&&a > 0)
- {
- nums[sznums] = a % 10;
- sznums++;
- a /= 10;
- tt--;
- }
- if (ttt == false)break;
- prev--;
- if (!tt || prev == 0)break;
- a = prev;
- }
- for (int j = sznums - 1; j >= 0; j--)cur = cur * 10 + nums[j];
- sznums = 0;
- if (cur%need == 0)ans++;
- }
- cout<<ans;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement