def main():
N, X = map(int, input().split())
X *= 100
total = 0
for i in range(N):
V, P = map(int, input().split())
total += V * P
if total > X:
print(i + 1)
return
print(-1)
def main():
N = int(input())
AS = list(map(int, input().split()))
ret = max(AS)
for i in range(N):
maxA = AS[i]
width = 1
for j in range(i + 1, N):
if AS[j] < maxA:
maxA = AS[j]
width += 1
v = maxA * width
if v > ret:
ret = v
print(ret)
def solve(N, M, K, AS):
setA = set(AS)
table = [0] * (N + M + 1)
tableF = [0] * (N + M + 1)
for i in range(N - 1, -1, -1):
if i in setA:
table[i] = 0
tableF[i] = 1
else:
v = 0
f = 0
for j in range(1, M + 1):
v += table[i + j]
f += tableF[i + j]
table[i] = v / M + 1
tableF[i] = f / M
if tableF[0] == 1:
return -1
return table[0] / (1 - tableF[0])
累積和に書き換えて提出、3WA
python
def solve(N, M, K, AS):
setA = set(AS)
table = [0] * (N + M + 1)
tableF = [0] * (N + M + 1)
sumTable = 0
sumTableF = 0
for i in range(N - 1, -1, -1):
if i in setA:
table[i] = 0
tableF[i] = 1
else:
v = sumTable
f = sumTableF
table[i] = v / M + 1
tableF[i] = f / M
sumTable += table[i] - table[i + M]
sumTableF += tableF[i] - tableF[i + M]
if tableF[0] == 1:
return -1
return table[0] / (1 - tableF[0])