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