#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int N = 2e5 + 5;
char s[N];
int ma[2020];
int main() {
scanf("%s", s);
ll ans = 0;
int res = 0, t = 1, n = strlen(s);
for(int i = n - 1; i >= 0; i--) {
ma[res]++;
res = (res + (s[i] - '0') * t) % 2019;
ans += ma[res];
t = t * 10 % 2019;
}
printf("%lld\n", ans);
return 0;
}
D.cpp
ABC(日本)D题求一个字符串中能够整除2019子串个数
最新推荐文章于 2022-03-01 16:37:21 发布