Вопрос состоит в том, чтобы взять вход = n
, затем взять столько входов, сколько n
и вывести, как это:
Что будет означать это:
f(1,1) → 1
f(1,2) → 3
f(1,3) → 6
f(2,2) → 2
f(2,3) → 5
f(3,3) → 3
и
answer = 1 + 3 + 6 + 2 + 5 + 3 = 20 → ans = 1+3+6+2+5+3 = 20
Я придумал следующее:
def f(l,r):
return int((r+l)*(r-l+1)/2)
n=int(input())
def WTF(n):
ans = 0
S=set()
for i in range(n):
S.add(int(input()))
for i2 in S:
for i3 in S:
if i3>=i2:
ans += f(i2,i3)
return ans
print(WTF(n))
Но это не было принято из-за превышения лимита времени в 1 сек. .
Как я могу сделать это быстрее?