blob: 48af063c9836dda8b0b9a0ea466c5e958f12f08c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# Uses python3
import sys
def getOptimalSummands(n):
summands = []
if n < 3:
summands.append(n)
return summands
runningSum = 0
for i in range(1, n + 1):
runningSum = runningSum + i
summands.append(i)
if runningSum == n:
break
if runningSum > n:
del summands[-1]
summands[-1] = summands[-1] + n - runningSum + i
break
return summands
if __name__ == '__main__':
input = sys.stdin.read()
n = int(input)
summands = getOptimalSummands(n)
print(len(summands))
for x in summands:
print(x, end=' ')
|