commit 019dc4d0cebcc449fe107c1ec346df21a12ae6bb Author: Vivianne Langdon Date: Wed Nov 30 21:44:06 2022 -0800 Submit first star diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a5ff07f --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +/target + + +# Added by cargo +# +# already existing elements were commented out + +#/target diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..f9ec5bf --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "aoc-01" +version = "0.1.0" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..23b8e96 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "aoc-01" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] diff --git a/input.txt b/input.txt new file mode 100644 index 0000000..d1a1625 --- /dev/null +++ b/input.txt @@ -0,0 +1,2242 @@ +62797 + +1137 +6086 +6104 +1895 +7909 +1651 +4973 +6964 +5989 +6003 +6859 + +2817 +3841 +5360 +2614 +1746 +3507 +1159 +3226 +4541 +1007 +3881 +4243 +1733 +4184 +2377 + +2528 +2950 +5635 +3664 +5782 +4580 +4672 +5989 +3426 +5600 +2057 +2901 +6175 + +48610 + +8330 +9058 +2953 +10409 +10515 +6073 +6772 +2197 + +1454 +1167 +5647 +5849 +2001 +1754 +3536 +1370 +1518 +1575 +5506 +3905 + +2339 +2355 +5373 +5845 +5561 +2919 +6506 +1409 +5879 +4604 +4714 +2980 +4867 +1823 + +4103 +20451 +23221 + +3067 +1509 +7380 +6207 +1031 +8739 +1796 +7860 +8132 + +2552 +4885 +14523 +4281 +8129 + +8511 +1435 +4589 +2922 +9486 +8125 +9379 +3055 +3639 + +38740 + +16211 +4294 +7687 +1712 + +10099 +9368 +7818 +11449 +3561 +2537 +11958 + +7674 +6052 +3795 +3846 +4678 +3629 +7318 +6585 +2001 +7220 +5358 + +9548 +4062 +7399 +7033 +11264 + +46275 + +2748 +20038 +7423 + +6073 +3395 +3001 +1685 +3782 +4034 +7477 +2787 +5189 +4928 +7834 + +6152 +2078 +3983 +5973 +3099 +2668 +5509 +6790 +5095 +5716 +3928 +3651 +4353 + +2324 +4994 +7860 +6198 +5793 +8073 +6584 +3618 + +5454 +4393 +2767 +3584 +3049 +1330 +6495 +2401 +2032 +6093 +4161 +2423 +2227 +1485 + +47294 + +3251 +4899 +4344 +7427 +5739 +3455 +7449 +6505 +5732 +5556 +4162 + +7382 +6713 +2642 +3282 +6120 +6768 +2510 +1058 +5668 +3874 +6522 +2193 + +68177 + +1202 +16326 +5274 + +5407 +4950 +1632 +7838 +7200 +2903 +7157 +7222 +2700 +1327 +3808 + +9007 +18835 + +8076 +2472 +8440 +2343 +3318 +1370 +7294 +7302 +1086 +7312 + +3203 +1707 +2442 +4856 +2106 +4742 +5322 +1625 +3597 +1216 +1860 +2986 +4170 +2550 +2291 + +1334 +5510 +6574 +7667 +3351 +5168 +1992 +1642 +7325 +3045 +3026 + +11629 +30436 + +4759 +4378 +2336 +2445 +1654 +3107 +3573 +5823 +3674 +5412 +4144 +6008 +5593 +2144 + +4744 +3597 +7879 +9312 +2539 +6903 +5299 +2385 +1285 + +2235 +1842 +2412 +3271 +7324 +4749 +4947 +6445 +3707 +5131 +6081 +2996 + +6119 +1077 +1532 +3836 +3825 +1677 +2989 +2320 +2993 +4053 +3514 +4403 +2769 +1642 + +3576 +1351 +2614 +1445 +5560 +1064 +1447 +3491 +4846 +1895 +4172 +5915 +4801 +6360 + +5495 +3521 +1020 +7024 +2201 +1956 +5994 +7108 +4368 +6589 +2125 + +9607 +7759 +8294 +9219 +13252 +9410 + +1002 +2930 +2950 +1481 +4450 +6035 +4757 +3031 +1162 +4348 +3853 +4003 +3810 +5328 +3700 + +7222 +7908 +10261 +8815 +5428 +5628 + +5901 +5817 +2869 +4236 +3255 +6376 +3519 +3320 +1550 +5964 +3036 +6141 +3363 +3451 + +8692 +5150 +6968 +2349 +9604 +1650 +5346 +4464 + +14434 + +1269 +2245 +3604 +4102 +3153 +4847 +5630 +1368 +4024 +3184 +3043 +4360 +5111 +2277 +4309 + +1028 +5088 +4334 +2923 +4670 +5247 +2517 +2019 +2905 +2714 +4577 +6086 +3578 +3444 + +3577 +1890 +2953 +6922 +2579 +8789 +5689 +3900 +5203 +2389 + +9776 +2610 +4602 +5502 +10238 +4465 +7608 +4954 + +8619 +4813 +7994 +2818 +3322 +4977 +4664 +8612 +1085 +1957 + +8435 +2875 +8535 +2645 +5352 +5266 +8246 + +6632 +4577 +2210 +6604 +6558 +7280 +6908 +2512 +6758 +2750 + +1126 +9574 +9451 +16976 + +5250 +6844 +3339 +7324 +6934 +5858 +6420 +1676 +8578 + +5335 +10082 +9784 +4599 +7897 +7693 +8058 + +18781 +3566 +20903 + +6380 +1702 +3926 + +3902 +6939 +8036 +5419 +1289 +5025 +5554 +3435 +3332 +1916 + +7356 +12520 +7346 +11017 +11388 +4624 + +5334 +5736 +5901 +1639 +1296 +2931 +4830 +4069 +4097 +5665 +5529 +5345 +4527 +2858 + +5476 +1781 +6609 +4309 +7392 +1871 +5736 +7117 +6936 +3482 +4152 + +4186 +6365 +5636 +4565 +4235 +6395 +2761 +3815 +7923 +6308 +7684 + +9859 +4769 +8278 +12910 +1311 +2143 + +2474 +3505 +2759 +3216 +3787 +3693 +2637 +3237 +5553 +5879 +5727 +2734 +3346 +2406 + +2187 +4922 +1515 +2084 +3633 +6094 +1252 +6325 +3206 +5142 +6339 +1757 +5358 + +11241 +7086 +6813 +14664 +1548 + +7377 +5783 +11235 +9630 +4109 +8722 + +16111 +3786 +13852 +14660 +14906 + +3257 +9139 +2882 +5982 +10228 +3118 + +13293 +5413 +11057 + +12677 +17863 +9645 + +3589 +13556 +15197 +7093 + +7078 +9565 +15193 +7844 + +5907 +1152 +2321 +3793 +1991 +7892 +10004 +3540 + +5861 +11769 +10640 +9553 +1750 +3876 + +4046 +2345 +5389 +5518 +6114 +5106 +5426 +3467 +1493 +1241 +5264 +5131 +3364 +5723 + +1905 +2588 +4692 +3798 +1245 +6449 +3754 +1998 +6074 +3699 +2096 +1999 +5222 +5688 + +10979 +5452 +2078 +11543 + +1844 +7544 +10666 +5272 +6913 +8789 +7957 +8348 + +4984 +7278 +2353 +2444 +7917 +5469 +8641 +1132 +4171 +4078 + +20787 +18527 + +5276 +6022 +1680 +4706 +2061 +5053 +3811 +2078 +2219 +3921 +4008 +3360 +1241 +3652 +5379 + +3261 +1286 +12019 +15867 + +9142 +6718 +6759 +1763 +5639 +8586 +2769 +8583 +5679 + +7839 +7346 +6043 +2270 +8994 +2060 +12109 + +47450 + +4222 +3717 +2902 +1498 +3681 +1365 +5850 +4158 +3379 +2187 +1534 +3932 +4737 +6031 + +4562 +4430 +3096 +2073 +6403 +4148 +3698 +2477 +3360 +2148 +2615 +2159 +6438 +1214 + +6891 +6856 +7163 +2424 +7346 +4006 +3889 +5080 +4668 +5496 +6872 + +8337 +13654 + +3495 +8348 +5138 +3214 +5881 +2857 +6331 +7476 +1135 +4155 + +4699 +7203 +6356 +8627 +2205 +5096 +2580 +7067 +1478 +4245 + +3098 +8610 +9747 +3238 +10772 +4767 +8079 +5361 + +7130 +5330 +9323 +4661 +3677 +2658 +9525 +9844 + +1451 +1186 +1323 +3923 +4568 +1052 +4270 +4108 +3231 +4942 +5792 +6037 +5366 +5402 + +9001 +15082 +9282 +11469 +7401 + +2070 +2095 +3183 +6326 +1557 +4983 +6324 +1198 +5658 +5539 +4435 +5491 +1304 + +7164 +2101 +8308 +3432 +6310 +9321 +6141 +6546 +7730 + +6191 +4811 +1707 +3732 +7322 +3741 +5246 +2825 +5243 +4113 +4916 + +5626 +7351 +3369 +2744 +2540 +3542 +5842 +3729 +1105 + +1135 +13062 +2337 +14278 + +8078 +8178 +4760 +8051 +1113 +4351 +5652 +5403 +4777 + +4998 +1638 +3990 +5943 +2335 +4550 +4345 +3359 +1514 +4685 +4102 +4274 +6022 +5273 + +7334 +7391 +6920 +5420 +6627 +3521 +6289 +6204 +6416 +4061 +4534 + +4935 +3249 +3556 +3618 +4499 +4136 +1690 +5033 +2002 +2454 +1912 +2113 +4829 +4944 +2339 + +4860 +1381 +5035 +4417 +3075 +2366 +3567 +1740 +3126 +1691 +1147 +1525 + +13371 +14166 +9536 +10956 +2600 + +3575 +2155 +4514 +2401 +3693 +6379 +6587 +1079 +4094 +3327 +7573 + +3948 +5553 +3883 +1557 +4833 +4933 +4883 +1973 +2027 +4852 +5735 +5726 +1879 +1185 +3525 + +2863 +1210 +2359 +6505 +3668 +2682 +5567 +6375 +6425 +6476 +6051 +1022 +5208 +3114 + +8666 +11550 +4922 +3332 +7784 +6833 +3659 + +3279 +3382 +8593 +9552 +2903 + +2951 +2006 +1185 +5092 +5625 +1309 +4907 +3835 +2464 +2644 +5631 +2786 +4778 +2325 +4312 + +9449 +9341 +8140 +8892 +5531 +1109 +7598 +8012 + +5204 +5931 +4082 +3376 +3591 +2371 +4945 +2603 +6084 +2646 +5100 +3494 +5278 +3099 + +11334 +6895 +3636 +6227 +5295 +12703 + +8582 +6879 + +10795 +11724 +13546 +14298 + +12038 +3535 +11070 +8190 +1032 +1780 +8630 + +10640 +13274 +10643 +11940 +10745 +9333 + +5299 +6239 +1648 +6467 +6426 +2154 +7880 +5169 +3356 +6129 +5647 + +6595 +2143 +1898 +12562 +13508 +2781 + +59552 + +16571 +4935 +17641 +12096 + +6189 +3250 +5458 +5146 +5237 +2684 + +18772 +5692 +9163 +9268 + +5695 +3416 +2703 +3018 +4433 +1425 +1974 +4673 +2166 +3893 +3446 +1994 +2070 +2429 + +3554 +5665 +3356 +4739 +1915 +6877 +5874 +2883 +2279 +4966 +7503 + +1155 +2329 +5544 +2294 +3644 +6202 +7787 +6605 +7045 + +3263 +1268 +2627 +1220 +5707 +1469 +4518 +5697 +3414 +2047 +2939 +3679 +2503 +5031 +3764 + +5935 +3138 +2639 +4127 +5061 +2213 +5332 +5037 +4830 +3694 +3624 +3598 +4000 +2683 + +5122 +6805 +10017 +1863 +11675 +2237 +10887 + +1055 +1975 +2769 +6245 +3790 +1178 +2163 +5553 +5305 +6089 +1417 +1221 +6235 + +54647 + +8508 +5207 +1608 +3986 +8532 +7425 +4530 +8413 +2097 + +33681 + +2280 +7109 +2871 +6096 +6170 +1314 +4713 +1607 +4944 +3316 +2818 + +7431 +1166 +6475 +1105 +1780 +5602 +5682 +6187 +4856 +7860 +3409 + +4299 +3875 +3364 +4489 +3995 +1565 +4798 +2285 +1420 +5877 +3158 +3045 +2505 +1329 + +9029 +1967 +7691 +3366 +7301 +2855 +4228 +3900 +2025 + +3340 +6056 +5221 +5220 +1911 +2349 +3789 +3567 +2859 +3079 +5720 +1134 +3072 +1291 + +22613 +20435 +13975 + +14789 + +5745 +5492 +1882 +3895 +6104 +8598 +3351 +1932 +4913 +2592 + +1662 +3183 +3923 +5857 +6563 +3160 +3119 +5727 +6071 +3931 + +6513 +1218 +10399 +3885 +3363 +2470 +9626 +3802 + +6307 +2664 +9753 +10741 +1295 + +3046 +1421 +4492 +2172 +6367 +5986 +1478 +1235 +1913 +1700 +2661 +3187 +3694 +1704 + +2332 +2555 +1548 +1891 +3985 +2238 +3802 +4168 +5491 +1374 +5104 +6353 + +64543 + +2774 +7026 +2622 +1898 +7236 +1896 +4399 +3438 +2436 +2732 +7431 +2737 + +5452 +3365 +8054 +2730 +4786 +11186 + +2474 +22732 + +2187 +2855 +7552 +9401 +6355 +10015 +4238 +9319 + +7351 +5587 +3761 +6320 +4344 +7272 +1465 +1207 +5586 +6134 +2607 +6004 + +6759 +4749 +4338 +1058 +5400 +3173 +3262 +7818 +6438 +5852 +6804 + +11175 +14866 +6020 +1809 +1258 + +4816 +3171 +6714 +2291 +4243 +4824 +10385 +4451 + +3102 +5924 +6672 +1872 +1009 +1176 +5943 +2068 +3702 + +14085 +14731 + +5651 +6762 +1985 +5851 +7277 +1493 +7316 +1193 +3737 +3291 + +1918 +9163 +3715 +5271 +8317 +3085 +2782 +7762 +5383 + +1195 +2050 +4127 +1946 +5662 +1608 +6606 +6708 +2771 +5533 +2638 +6048 + +8916 +2959 +16153 +3649 + +17831 +11271 +4407 +11756 + +1932 +5296 +4133 +3164 +2942 +5498 +4442 +4447 +3267 +4143 +2401 +5074 +1831 +4235 + +1529 +1414 +4775 +3829 +3121 +3573 +3423 +3269 +1017 +4698 +5104 +2655 +2427 +5958 + +1209 +7712 +3681 +6730 +6569 +1763 +5465 +2218 +4656 +1828 + +2045 +10343 +3841 +7177 +8506 +12930 + +3801 +4977 +5578 +2208 +4739 +4811 +2201 +3004 +5233 +4112 +5234 +5615 +2187 + +7309 +7544 +1423 +2269 +5221 +4858 +4996 +1683 +9331 + +1834 +6149 +6941 +1568 +1886 +6818 +7022 +5841 +5568 +8000 +3910 + +8233 +5998 +2020 +6423 +7691 +1420 +5081 +8221 +5648 +7694 + +14918 +18742 +10687 +19905 + +3390 +8841 +2124 +10402 +4664 +10831 + +9777 +7834 +10672 +9873 +6758 +1471 +11828 + +1679 +6895 +6007 +2245 +8309 +3319 +1232 +10468 + +51082 + +2292 +6231 +3446 +3591 +1553 +1615 +1514 +6233 +6327 +3430 +1732 +5356 +4799 + +2583 +4699 +5594 +3530 +3477 +3473 +4356 +3594 +5404 +2738 +5766 +5897 +2218 +1597 +3830 + +4683 +4634 +6635 +5255 +2092 +6636 +3209 +7142 +1022 + +6301 +9915 +4277 +11866 +10155 + +24693 +24851 + +4192 +10576 +9003 +7156 +11894 + +8088 +14949 +19773 +13274 + +4683 +22445 +14904 + +10069 +9513 +7768 +11446 +6753 +12021 + +2863 +6080 +3395 +2648 +6585 +1411 +3363 +5331 +2830 +1437 +3281 +5924 +6409 + +6012 +4523 +1688 +5603 +3035 +3220 +7254 +4670 +6197 +4181 +6032 +4619 + +2186 +5986 +5703 +3074 +7566 +4097 +7971 +4868 +7182 +5065 +1279 + +10973 +9182 +13792 +9868 +1509 +9266 + +2846 +4728 +5432 +1085 +4273 +1620 +3800 +1631 +1141 +4895 +1402 +5547 +1131 +2330 + +8273 +3309 +8168 +12350 +11300 +4743 + +11440 +5977 +1085 +13808 +2190 +9288 + +2271 +11361 + +4963 +1680 +7510 +5354 +2117 +7728 +6051 +5256 +3478 +1075 +1961 + +3812 +4709 +2691 +4316 +3328 +2828 +2937 +2812 +1539 +5201 +1182 +2697 +2406 +2574 +4539 + +4415 +8204 +1583 +10931 +7518 +3135 +11661 + +3389 +5173 +5986 +3872 +3959 +8821 +7434 +2166 +8156 + +2463 +4935 +7038 +6770 +5818 +6881 +2282 +7335 +4367 +1801 +2507 +4071 + +9939 +14902 +7567 +15568 +10587 + +2163 +2588 +2715 +4589 +6593 +6838 +4404 +3186 +4271 +3686 +3641 +5165 +5708 + +6209 +13133 +25360 + +3109 +5778 +4388 +1042 +4937 +8197 +1456 +8167 + +9199 +7098 +14027 + +6382 +1660 +2778 +8067 +3405 +2429 +6503 +7984 +5799 +7534 +5088 + +9638 +14010 +5875 +6893 + +2598 +2706 +3987 +4140 +3171 +5672 +5529 +3617 +5198 +2429 +2728 +4763 +2852 +5389 + +3719 +1285 +4554 +3677 +5209 +3827 +5062 +4835 +8068 +4674 +5854 + +6077 +6747 +6325 +4287 +7242 +6317 +3989 +6724 +1754 +5498 +1931 + +10902 +11104 +10540 +4778 +7178 +4711 + +1705 +3407 +6048 +3364 +3743 +3938 +4784 +6080 +3543 +1957 +2590 +2031 + +28157 +6204 + +7129 +7476 +1886 +10496 +4930 +2967 +1258 +3532 + +4133 +2586 +1916 +4464 +1008 +3310 +5367 +4347 +5569 +3878 +3210 +2442 +2355 +5997 +3101 + +4460 +18575 +6967 +17122 + +1720 +2723 +5410 +8981 +3355 +4210 +2549 +3094 + +14639 +17107 +14832 + +3736 +24734 + +3133 +3998 +5708 +6961 +1514 +3927 +4208 +5004 +2708 +1381 +5082 +4476 + +4021 +1075 +1593 +3541 +2463 +4776 +4665 +6168 +1928 +6421 +3967 +5875 +2584 +1946 + +3506 +1054 +1846 +4946 +3394 +7435 +7099 +3703 +6746 +2129 +1980 +4505 + +7828 +8885 +8007 +4297 +1731 +3825 +1728 +4304 + +3217 +12089 +2242 +10288 +9462 +11809 + +10335 +3139 +10617 +6833 +1976 +3093 +8219 + +7749 +5487 +7508 +6975 +5363 +4141 +3823 +7609 +5667 +4064 +7969 + +6803 +1600 +8970 +8154 +3949 +9138 +6012 +4745 +6778 + +5215 +8264 +3784 +14282 + +5819 +13811 +5523 +3645 + +12004 +8659 +1039 +1507 +3797 +2568 +12129 + +3547 +7073 +5035 +2269 +7986 +6478 +5045 +6103 +1003 +7281 +7503 + +2567 +6027 +6497 +5871 +2833 +2117 +4851 +4934 +6324 +4101 +2032 +4308 +4369 + +4262 +15796 +13104 +9996 + +4521 +4209 +4691 +11223 +1369 +11416 +8253 + +8708 +11136 +15770 + +1132 +1488 +4493 +5822 +3022 +4249 +1436 +5324 +4237 +3740 +3071 +1298 +5247 +5217 + +6199 +9151 +9154 +8903 +9415 +6703 +7137 +7053 +4727 + +15631 +16811 +14050 + +5183 +4988 +3932 +6304 +6914 +4061 +5694 +5111 +3668 +5769 +6458 +6400 +3736 diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..64e52a2 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,29 @@ +use std::env; +use std::fs; +use std::io::{self, BufRead}; + +fn main() { + let args: Vec = env::args().collect(); + let filename = if args.len() > 1 { + &args[1] + } else { + "input.txt" + }; + + println!("Gonna load {}!", filename); + + let file = fs::File::open(filename).unwrap(); + let lines = io::BufReader::new(file).lines(); + + let mut max_cals: u32 = 0; + let mut cur_cals: u32 = 0; + for l in lines { + if let Ok(cals) = l.unwrap().parse::() { + cur_cals += cals; + } else { + max_cals = max_cals.max(cur_cals); + println!("new cals: {}, max so far: {}", cur_cals, max_cals); + cur_cals = 0; + }; + } +}