Part 1
This commit is contained in:
parent
0e6ebb83a1
commit
0b8a1447c6
3 changed files with 2309 additions and 0 deletions
2251
day1/input1.txt
Normal file
2251
day1/input1.txt
Normal file
File diff suppressed because it is too large
Load diff
22
day1/p1.nim
Normal file
22
day1/p1.nim
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
import os
|
||||
import std/strutils
|
||||
|
||||
proc main() =
|
||||
let fileName = paramStr(1)
|
||||
|
||||
var maxSum = 0
|
||||
|
||||
var curSum = 0
|
||||
|
||||
for line in fileName.lines:
|
||||
if line.len == 0:
|
||||
maxSum = max(curSum, maxSum)
|
||||
curSum = 0
|
||||
continue
|
||||
|
||||
curSum += line.parseInt
|
||||
|
||||
echo maxSum
|
||||
|
||||
|
||||
main()
|
||||
36
day1/p2.nim
Normal file
36
day1/p2.nim
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
import os, math
|
||||
import std/strutils
|
||||
|
||||
proc main() =
|
||||
let fileName = paramStr(1)
|
||||
|
||||
var maxSumArray = [0,0,0]
|
||||
|
||||
var curSum = 0
|
||||
|
||||
for line in fileName.lines:
|
||||
if line.len == 0:
|
||||
if curSum > maxSumArray[0]:
|
||||
let temp = maxSumArray[0]
|
||||
# bubble down
|
||||
maxSumArray[0] = curSum
|
||||
maxSumArray[2] = maxSumArray[1]
|
||||
maxSumArray[1] = temp
|
||||
elif curSum > maxSumArray[1]:
|
||||
let temp = maxSumArray[1]
|
||||
# bubble down
|
||||
maxSumArray[1] = curSum
|
||||
maxSumArray[2] = temp
|
||||
elif curSum > maxSumArray[2]:
|
||||
maxSumArray[2] = curSum
|
||||
|
||||
curSum = 0
|
||||
continue
|
||||
|
||||
curSum += line.parseInt
|
||||
|
||||
echo maxSumArray
|
||||
echo sum(maxSumArray)
|
||||
|
||||
|
||||
main()
|
||||
Loading…
Add table
Add a link
Reference in a new issue