一个数末尾有多少个 0,取决于:min(2 的个数, 5 的个数)我们要找连续子段,使得min(sum2, sum5) == k等价于sum2 ≥ k 且 sum5 ≥ k并且 min(sum2, sum5) == k用双指针维护s2[r] - s2[l-1] ≥ k, s5[r] - s5[l-1] ≥ k #include <bits/stdc++.h> #define int long long using namespace std; const int N = 2e5 + 5; int n,k; int c2[N], c5[N]; int cal(int k){ int ...