st = datetime.date(1900,1,1) ed = datetime.date(9999,12,31) ans = 0
while st < ed: year, month, day = int(st.year), int(st.month), int(st.day) y = m = d = 0 while year: y += year % 10 year //= 10 while month: m += month % 10 month //= 10 while day: d += day % 10 day //= 10 if y == m + d: ans += 1 st += delta
n = int(input()) a = list(map(int, input().split())) b = list(map(int, input().split())) c = list(map(int, input().split())) x = [0for _ inrange(n)] y = [0for _ inrange(n)] z = [0for _ inrange(n)] for i inrange(n): x[i] = a[i] - b[i] - c[i] y[i] = b[i] - a[i] - c[i] z[i] = c[i] - a[i] - b[i] x.sort(reverse=True) y.sort(reverse=True) z.sort(reverse=True) ans = res = 0 for i inrange(n): res += x[i] if res <= 0: break ans = max(ans, i + 1) res = 0 for i inrange(n): res += y[i] if res <= 0: break ans = max(ans, i + 1) res = 0 for i inrange(n): res += z[i] if res <= 0: break ans = max(ans, i + 1) if ans == 0: print(-1) else: print(ans)
n = int(input()) k = n // 10 a = [] t = [0for _ inrange(10)] for i inrange(n): x, y = map(int, input().split()) a.append((x, y)) a.sort() for i inrange(n): t[a[i][0]] += 1 cnt = ans = 0 for i inrange(n): if i == 0or a[i][0] != a[i - 1][0]: cnt = 0 cnt += 1 if cnt <= t[a[i][0]] - k: ans += a[i][1] print(ans)
T = int(input()) while T: T -= 1 a, b = list(input()), list(input()) flg = ans = 0 n = len(a) for i inrange(n): if a[i] == b[i]: continue if i == 0or b[i - 1] == b[i] or b[i + 1] == b[i]: flg = 1 break if b[i] == '0': b[i] = '1' else: b[i] = '0' ans += 1 if flg: print(-1) else: print(ans)
n, m, a, b = map(int, input().split()) Min_1 = [[0for _ inrange(1005)] for _ inrange(1005)] Min_2 = [[0for _ inrange(1005)] for _ inrange(1005)] Max_2 = [[0for _ inrange(1005)] for _ inrange(1005)] Max_1 = [[0for _ inrange(1005)] for _ inrange(1005)] q = [0for _ inrange(1005)] ans = 0
g = [list(map(int, input().split())) for _ inrange(n)]
for i inrange(n): head, tail = 1, 0 for j inrange(m): while head <= tail and q[head] <= j - b: head += 1 while head <= tail and g[i][q[tail]] >= g[i][j]: tail -= 1 tail += 1 q[tail] = j Min_1[i][j] = g[i][q[head]]
for j inrange(m): head, tail = 1, 0 for i inrange(n): while head <= tail and q[head] <= i - a: head += 1 while head <= tail and Min_1[q[tail]][j] >= Min_1[i][j]: tail -= 1 tail += 1 q[tail] = i Min_2[i][j] = Min_1[q[head]][j]
for i inrange(n): head, tail = 1, 0 for j inrange(m): while head <= tail and q[head] <= j - b: head += 1 while head <= tail and g[i][q[tail]] <= g[i][j]: tail -= 1 tail += 1 q[tail] = j Max_1[i][j] = g[i][q[head]]
for j inrange(m): head, tail = 1, 0 for i inrange(n): while head <= tail and q[head] <= i - a: head += 1 while head <= tail and Max_1[q[tail]][j] <= Max_1[i][j]: tail -= 1 tail += 1 q[tail] = i Max_2[i][j] = Max_1[q[head]][j] for i inrange(a - 1, n): for j inrange(b - 1, m): ans += Min_2[i][j] * Max_2[i][j]
n, m = map(int, input().split()) p, q, ans = 1, 0, 0 mod = 998244353 f = [[[[[0for _ inrange(15)] for _ inrange(15)] for _ inrange(15)] for _ inrange(15)] for _ inrange(2)]
for a inrange(p, 10, 2): for b inrange(q, 10, 2): for c inrange(p, 10, 2): for d inrange(q, 10, 2): f[0][a + 2][b][c][d] = f[0][a][b][c][d] + (a + b + c + d <= m);
for i inrange(5, n + 1): p, q = p ^ 1, q ^ 1 for a inrange(p, 10, 2): for b inrange(q, 10, 2): for c inrange(p, 10, 2): for d inrange(q, 10, 2): e = m - a - b - c - d if q != (e & 1): e -= 1 if e > 8 + q: e = 8 + q f[i & 1][a + 2][b][c][d] = (f[i & 1][a][b][c][d] + f[~i & 1][e + 2][a][b][c] if e >= q else0) % mod for b inrange(q, 10, 2): for c inrange(p, 10, 2): for d inrange(q, 10, 2): e = m - b - c - d if e < p: continue if p != (e & 1): e -= 1 if e > 8 + p: e = 8 + p ans = (ans + f[n & 1][e + 2][b][c][d]) % mod print(ans)
deflayer(u): res, num = 1, 1 while num < u: num = num * m + 1 res += 1 return res
defsolve(): global n, m, k n, m, k = map(int, input().split()) lyk, lyn = layer(k), layer(n) p = n while layer(p) > lyk: if p % m == 1: p = math.floor(p / m) else: p = math.ceil(p / m) if p == k: ans, cnt = 1, 1 while layer(p) < layer(n): p = p * m + 1 cnt *= m ans += cnt print(ans - p + n) elif p < k: p, ans, cnt = k, 1, 1 while layer(p) < layer(n) - 1: cnt *= m ans += cnt p = p * m + 1 print(ans) else: p, ans, cnt = k, 1, 1 while layer(p) < layer(n): cnt *= m ans += cnt p = p * m + 1 print(ans)
s = list(input()) s = '#' + '#'.join(s) + '#' d = [0for _ inrange(2 * 10 ** 6 + 10)] fsum = [0for _ inrange(2 * 10 ** 6 + 10)] bsum = [0for _ inrange(2 * 10 ** 6 + 10)] l, r, n = 0, -1, len(s) for i inrange(n): k = 1if i > r elsemin(d[l + r - i], r - i + 1) while i - k >= 0and i + k < n and s[i - k] == s[i + k]: k += 1 d[i] = k k -= 1 if i + k > r: l, r = i - k, i + k tot = ans = 0 for i inrange(1, n): fsum[i] = fsum[i - 1] + (s[i] == '1') tot += (s[i] == '1') for i inrange(n - 1, -1, -1): bsum[i] = bsum[i + 1] + (s[i] == '1') for i inrange(n): if s[i] == '1': continue ans = max(ans, fsum[i] - fsum[i - d[i]] + bsum[i] - bsum[i + d[i]]) print(tot - (ans >> 1))