fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. long long suf[200002];
  4. long long mul[10002];
  5. long long ans;
  6. long long p;
  7. string s;
  8. int n;
  9. int main()
  10. {
  11. ios_base::sync_with_stdio(0);cout.tie(0);cin.tie(0);
  12. cin >> n >> p >> s;
  13. s = '#' + s;
  14. if (p == 2 || p == 5)
  15. {
  16. long long res = 0;
  17. for (int i = 1; i <= n; i++)
  18. {
  19. int d = s[i] - '0';
  20. if (d % p == 0)
  21. res += i;
  22. }
  23. cout << res;
  24. return 0;
  25. }
  26. long long pow10 = 1;
  27. mul[0]++;
  28. for(int i = n; i > 0; i--)
  29. {
  30. suf[i] = (suf[i + 1] + pow10 * (s[i] - 48)) % p;
  31. ans += mul[suf[i]]++;
  32. pow10 *= 10;
  33. pow10 %= p;
  34. }
  35. cout << ans;
  36. }
Success #stdin #stdout 0.01s 5312KB
stdin
Standard input is empty
stdout
Standard output is empty