From 93936f936c8ad5134652af313f89e99e2dc2ce3d Mon Sep 17 00:00:00 2001 From: Yash Karandikar Date: Thu, 1 Dec 2022 15:53:42 -0600 Subject: [PATCH] Day 1 --- one.rs | 16 + one.txt | 2237 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 2253 insertions(+) create mode 100644 one.rs create mode 100644 one.txt diff --git a/one.rs b/one.rs new file mode 100644 index 0000000..99fddb8 --- /dev/null +++ b/one.rs @@ -0,0 +1,16 @@ +fn main() { + let buf = std::fs::read_to_string("one.txt").unwrap(); + let mut elves: Vec = buf + .split("\n\n") + .map(|s| { + s.trim() + .split("\n") + .map(|n| n.trim().parse::().unwrap()) + .sum() + }) + .collect(); + + elves.sort_unstable_by(|a, b| b.cmp(a)); + println!("{}", elves[0]); + println!("{}", elves.into_iter().take(3).sum::()); +} diff --git a/one.txt b/one.txt new file mode 100644 index 0000000..ff47b8a --- /dev/null +++ b/one.txt @@ -0,0 +1,2237 @@ +5118 +5554 +4186 +4729 +1242 +4360 +1427 +5312 +6012 +1017 +5581 +5203 +3811 +4945 +3960 + +3812 +7757 +4448 +2205 +15715 + +4164 +6482 +4479 +3061 +4082 +2474 +1175 +1918 +4755 + +4056 +5122 +11426 +5529 +3659 +9592 +10257 + +3435 +3106 +4933 +2695 +3107 +6567 +5579 +1463 +5734 +4547 +4532 +2152 +5132 + +6074 +11600 +4337 +3444 +7637 +6725 +1189 + +5637 +1226 +7068 +6290 +4411 +3858 +6677 +1858 +2840 +1175 +5056 +6569 + +32887 +19643 + +4951 +2276 +4300 +4473 +1895 +5251 +1770 +4623 +4602 +4925 +1769 + +68012 + +5760 +2687 +3192 +2730 +4867 +4723 +2591 +1677 +4458 +4388 +6038 +3127 +6416 +3048 + +2485 +1630 +1595 +2864 +2125 +3852 +2216 +3883 +4293 +4165 +2762 +4016 +2508 +1396 +4541 + +5918 +6874 +6644 +4024 +3229 +1318 +1851 +1566 +1035 + +7625 +1369 + +3894 +18802 +1362 +12368 + +10251 +6249 +2784 +9394 +5932 +5610 +7201 +9922 + +10994 +10092 +4121 +2966 +1178 +2235 +9379 + +2592 +1895 +1740 +4357 +5314 +1068 +2228 +3775 +3949 +7162 +3078 +1450 + +9484 +1796 +8055 +7901 +9323 +1982 +2517 +8358 +2614 + +18536 +23454 +12107 + +6703 +6966 +1086 +7022 +3487 +3871 +2568 +6441 +1216 +2105 +5100 +2945 + +3268 +4866 +3569 +4374 +3666 +2477 +3263 +1312 +5121 +6592 +5337 +1417 + +17864 +11775 +1345 +11675 + +6636 +1678 +3982 +4552 +2719 +2736 +1342 +6375 +2671 +1541 +1093 +5538 + +21177 +36871 + +4608 +5474 +5004 +3229 +2744 +1577 +2182 +4518 +4930 +1986 +5776 +5023 +2070 +5342 +1952 + +13940 +15506 +13799 + +3672 +3303 +4866 +5507 +5282 +5768 +2847 +2214 +1688 +2255 +4302 +4962 +4585 +4285 +3602 + +4766 +4358 +4532 +10741 +13311 +2271 + +3073 +5990 +8256 +3692 +4658 +4561 +6347 +3260 +6938 +8643 + +5261 +1524 +1671 +3277 +2326 +5603 +5837 +1638 +5104 +3696 +1910 +2319 +2305 +1373 +4801 + +2593 +3527 +1517 +4626 +2003 +4414 +4677 +2282 +3000 +1457 +3530 +5344 +1890 +1703 +1268 + +9002 +7173 +3848 +6891 +1741 +5303 +1670 +1342 +1865 + +10319 +10539 +2972 +4667 + +4318 +1366 +1430 +5003 +2691 +7117 +3015 +6516 +6895 +1618 +3189 +6739 + +2494 +7140 +2905 +8784 +8727 +4711 +2284 +6894 +7030 +1688 + +1853 +7351 +7815 +3222 +8276 +1461 +5028 +8048 +5534 + +12546 +6236 +20372 + +2778 +5745 +2783 +5774 +4508 +3691 +6097 +4637 +5643 +5902 +1166 +1208 +3983 +5030 + +3767 +2558 +3988 +1056 +6570 +5437 +1920 +2822 +9126 + +3173 +3242 +5762 +4311 +5206 +3892 +4978 +5065 +1319 +2577 +1347 +3232 +1915 +5986 +3536 + +2308 +2812 +1119 +3845 +4589 +4779 +1503 +3613 +1576 +3827 +1468 +1533 +5896 +4981 + +9740 +16395 +19471 +12882 + +4779 +7293 +12593 +15897 + +36970 + +2386 +1094 +2957 +4452 +4005 +2723 +1124 +3533 +2671 +1701 +2508 +3075 +4741 +1471 +3416 + +37202 + +5272 +2736 +4756 +2235 +4679 +4093 +1773 +4088 +2419 +3192 +4429 +3959 +5230 +4342 + +8514 +11430 +5023 +9565 +3726 +11026 +6334 + +6563 +2638 +12569 +3458 +5449 +1216 + +1320 +4708 +1627 +4189 +3962 +1463 +2628 +5667 +5494 +6105 +4925 +3540 +1613 +2288 + +5974 +7710 +5200 +4859 +2346 +5619 +1337 +4814 +1359 +3020 +1798 + +2744 +1957 +10669 +4877 +3507 +7657 +7748 + +1021 +4297 +1689 +6925 +16175 + +7147 +11617 +5654 +11861 +6065 +3090 +1744 + +3782 +6658 +2389 +4339 +2312 +7245 +2039 +3411 +6251 +1778 +2345 +5814 + +13113 +10123 +18700 +6991 + +16138 +11645 +18610 + +9586 +6653 +1001 +4547 +2891 +2726 +7618 +5679 +1567 + +2380 +1858 +1059 +1160 +5115 +2588 +1969 +2629 +5525 +5831 +2139 +5469 +2783 + +10606 +4518 +9057 +5905 +4187 +4693 +4396 +2191 + +4374 +4407 +1083 +7787 +7716 +7505 +10096 +10650 + +5809 +4387 +3426 +3730 +3699 +4944 +4176 +2681 +5197 +1325 +5920 +4957 +5876 +5345 + +20155 + +1243 +11423 +13133 +4539 +4880 +4276 + +1073 +1316 +1841 +5102 +1196 +4847 +1293 +2424 +2345 +2298 +4214 +4215 +5760 +5775 + +4542 +1152 +5164 +5642 +2069 +1419 +5614 +7343 +1507 + +2840 +3922 +3563 +1856 +5216 +4886 +3794 +4637 +1826 +3520 +5582 +4602 +2442 +3631 +4946 + +7956 +3248 +7897 +7846 +2054 +5576 +3753 +3378 +1899 +3490 +6142 + +9837 +10901 +15019 +1735 +5306 + +3246 +2485 +5573 + +2722 +2084 +18774 + +7940 +10855 +8498 +5547 +13550 +4239 + +1857 +7355 +4374 +6798 +2341 +13128 + +14215 +9770 +2447 +1035 + +8426 +1873 +4518 +2812 +7611 +2465 +4770 + +8166 +19955 +6472 + +10884 +11212 +1463 +2716 +1796 +12003 +1240 + +2802 +2639 +3268 +2492 +6676 +8851 +4054 +9603 +5354 + +1483 +3080 +6696 +8713 +6856 +4796 +7728 +4600 +3616 +8565 + +26580 +15329 + +6074 +15758 +5707 +13583 +2595 + +4957 +9125 +6534 +8684 +1728 +3690 +7983 +4131 +8907 + +12147 +15776 +14765 +17316 + +27492 +12173 + +5967 +1170 +7896 +7865 +7945 +2261 +2026 +1751 +3988 +3759 +5258 + +20764 + +7020 +7441 +8780 +6111 +3483 +8606 +4547 +8153 +3543 +6791 + +5397 +4408 +1572 +2315 +3376 +2021 +1140 +2876 +5045 +6034 +4404 +5705 +3814 +3981 +3814 + +6836 +3601 +7452 +8519 +2302 +2382 +8481 +1455 +7154 +6565 + +2077 +5139 +5462 +1508 +2094 +4850 +1688 +4382 +1991 +2297 +1930 +4720 +4995 +2891 +1967 + +2201 +3673 +9817 +7417 +1283 + +4988 +3052 +2258 +6022 +3678 +2938 +7073 +6437 +2402 +5973 + +2492 +4592 +1501 +4818 +3141 +3470 +2821 +4367 +4952 +2779 +2237 +4283 +5625 +2935 + +2422 +5273 +4053 +4471 +1343 +1128 +4538 +4328 +2974 +3674 +4155 +5472 +3520 +2427 +4145 + +19383 +13539 +9822 +2453 + +2244 +3506 +2573 +3837 +1725 +5081 +4668 +4438 +2414 +1446 +1862 +2453 +2049 +4867 +5438 + +16970 +5265 + +7417 +8051 +7490 +1175 +11316 +4219 + +1065 + +6974 +1232 +6746 +3660 +3883 +5403 +3793 +4956 +4253 +2237 +5815 + +6537 +4906 +11084 +7541 +10019 +5164 +11601 + +4215 +4216 +1160 +2096 +1453 +6271 +5534 +4353 +6423 +4060 +6811 +4701 +3383 + +2138 +12998 +19743 + +8678 +6328 +6426 +7184 +8008 +7896 +5365 +9506 +1955 + +1498 +19856 +7833 + +17023 +7023 +21278 + +2110 +5542 +7191 +6509 +8813 +5236 +7771 +9593 +1262 + +11625 +19032 +17458 + +5266 +4751 +7950 +2185 +7837 +5710 +2053 +7332 +7422 +6356 + +5781 +1330 +2974 +2628 +7407 +7339 +3767 +5411 +3400 + +5330 +3441 +6203 +5272 +5867 +6034 +3167 +2187 +6006 +6614 +1089 +2485 + +3792 +4129 +1207 +1121 +3599 +6143 +4394 +5550 +1488 +2675 +6064 +1527 +4429 + +1606 +1129 +5426 +5260 +3827 +5595 +2286 +1974 +7525 +1290 +4569 + +2181 +5045 +7730 +5502 +5467 +7720 +1780 +4553 +1188 +4213 + +2565 +10635 +12032 +3283 + +9902 +2896 +9653 +6296 +2656 +11583 +5835 + +4932 +4548 +3832 +2377 +3371 +2612 +1907 +3494 +4567 +3130 +3375 +2750 + +7757 +1033 +8201 +13544 +13481 + +3382 +12952 +9450 +4982 +13966 + +4691 +3678 +1026 +7359 +1885 +1245 +5281 +8602 +6744 + +13041 +9202 + +3621 +3558 +2279 +2854 +6415 +5368 + +1102 +5319 +5768 +1990 +2526 +1900 +6294 +4744 +3655 +5011 +3092 +2697 +3864 + +12013 + +27776 +14644 + +5434 +1501 +1439 +4972 +1365 +6076 +1428 +6291 +6020 +5509 +3835 +2571 +6308 +1483 + +3972 +9357 +8383 +11037 +9557 +10966 + +8344 +1761 +10183 +4200 +3936 +5778 +9722 +1298 + +3962 +2611 +7361 +1156 +2522 +2462 +4249 +5127 +1443 +5989 +2942 + +5384 +7053 +2194 +11964 +5937 +7708 + +3052 +3192 +3224 +5708 +2120 +5756 +6107 +1198 +5519 +3803 +1169 +2903 +5942 +4376 +3675 + +11517 +9051 +2084 +4508 +4197 +7219 +9902 + +4566 +5562 +4263 +1970 +1965 +1333 +1601 +2665 +3443 +5463 +4981 +3792 +2588 +3282 + +1243 +3604 +4947 +1044 +6962 +2276 +2828 +6334 +2508 + +1339 +3050 +10158 +2095 +7779 +5165 +9420 +6101 + +4512 + +3273 +2248 +2082 +12415 +13944 + +5638 +5204 +3327 +1361 +3775 +3421 +7597 +1917 +1802 +3896 +4058 + +1901 +1813 +7388 +3861 +6838 +6154 +5500 +3086 +6403 +3654 +7471 +6904 + +1932 +1303 +1930 +1720 +5505 +1595 +2260 +5629 + +38957 + +4629 +3672 +3629 +5011 +5182 +3952 +2295 +4943 +2644 +2851 +5894 +4654 +5257 +3972 + +48469 + +3481 +1398 +3837 +2611 +3330 +3229 +7619 +4106 +6816 +3486 +2763 + +6591 +2522 +6262 +5458 +3025 +2804 +6403 +1390 +2964 +3081 +3449 + +6408 +3223 +4302 +1079 +5836 +5580 +1538 +2616 +3850 +5272 +3688 +2381 +5775 +5497 + +1891 +1448 +4283 +5965 +2726 +1425 +5399 +2795 +1583 +2489 +5171 +3133 +2547 +5117 +3092 + +11463 +11581 +6972 +5410 +3675 +8578 +4283 + +1398 +1747 +1341 +5365 +5086 +2268 +4544 +5286 +5910 +1393 +4580 +4726 +1123 +3949 +1223 + +7526 +3223 +5495 +7184 +10259 +7681 +4795 + +7168 +6278 +7939 +3829 +3670 +7969 +4917 +7406 +9035 + +5687 +4872 +2967 +10772 +9196 +6207 +6244 +2801 + +3500 +1786 +1517 +1585 +4536 +2645 +5249 +4808 +5681 +4591 +5595 +2751 +3336 +1615 +2200 + +6894 +4752 +1794 +6507 +2184 +5589 +3016 +4532 +2321 +6843 +2909 +2104 +4065 + +24126 + +3293 +8274 +1297 +4841 +4653 +1817 +1972 +6169 +1001 +7070 + +6969 +5331 +4779 +5316 +5249 +3315 +4355 +3596 +3868 +5647 +1110 + +5235 +5846 +5619 +6259 +4372 +2600 +7526 +3962 +3840 + +4260 +4484 +6361 +4276 +6344 +4776 +1173 +1884 +4572 +1411 +5230 +3976 +1800 +2426 + +19185 +15235 +19905 +8664 + +3346 +7532 +8840 +2182 +10048 +4181 +5030 +8078 + +2080 +2279 +6250 +3388 +6097 +4607 +6262 +4259 +3261 +4653 +3338 +7025 + +1138 +2851 +5912 +8592 +7341 +3596 +7669 +1030 +7624 + +6551 +6753 +7807 +4296 +3515 +6873 +5010 +8497 +1742 +5767 + +8921 +7840 +9067 +3809 +4347 +2876 +3886 +9982 + +11455 +10295 +15198 + +1574 +4240 +4052 +1739 +5701 +8449 +5055 +3893 +2700 + +3864 +4306 +4190 +1165 +1708 +5705 +5654 +6753 +3840 +4139 +2121 +5735 + +1662 +3541 +2480 +6124 +3355 +5737 +5537 +6806 +7953 +1109 + +14180 +15876 +25965 + +7732 +33422 + +5918 +5146 +6768 +9366 +1687 +1440 +3115 +1065 +6514 + +2316 +4905 +2945 +5351 +6196 +6207 +5751 +3811 +4765 +1419 +5253 +1616 +2274 +6363 + +5125 +2491 +5057 +2749 +1586 +4997 +5249 +3944 +3964 +3845 +2457 +5972 +5313 +6453 + +30602 +6865 + +4413 +1651 +6256 +6524 +3466 +1160 +4599 +6477 +2681 +1855 +4785 + +6435 +5377 +6008 +1744 +5182 +4469 +3999 +2913 +3367 +3233 +2369 +1712 +5408 +4622 + +4201 +5475 +1117 +2679 +2649 +1446 +4043 +1136 +3750 +4523 +3800 +3245 +3179 +6183 + +7682 +7213 +5144 +1557 +5579 +5005 +6307 +5906 +7244 +6230 + +1205 +2764 +3576 +5212 +1723 +4138 +1801 +1772 +4809 +1429 +2010 +3093 +4435 +2268 +4904 + +4386 +6822 +1865 +3688 +6771 +5433 +1430 +4870 +6745 +5758 +4456 +6549 +6203 + +2413 +3287 +3376 +5780 +1190 +1177 +1577 +4375 +5558 +5117 +6773 +2483 +4436 + +5870 +4195 +5932 +1117 +5072 +4581 +6922 +2695 +3134 +2021 +3327 +5538 +2324 + +2609 +4270 +5809 +1096 +6794 +3530 +3222 +4881 +3806 +2887 +7158 + +2989 +5279 +6821 +2474 +3144 +8621 +3854 +5012 +1144 +1354 + +9033 +7624 +5535 +2433 +1433 +5568 +8161 + +5691 +5394 +3445 +4619 +1703 +6197 +2113 +4277 +2506 +3380 +6039 +6423 +6429 + +23751 +4571 +7508 + +9674 +3084 +3612 +3841 +3555 +8146 +6263 +7746 +3586 + +7907 +6263 +2320 +4430 +15429 + +2825 +2248 +7184 +3650 +1008 +5219 +5600 +2610 +7357 +5113 +1039 +2019 + +2167 +4159 +6290 +3757 +10133 +1345 +7250 +10590 + +6712 +5361 +3243 +6239 +1667 +2699 +5389 +1400 +1334 +2382 +1604 +3256 +2439 + +6520 +1478 +3049 +6452 +6899 +1850 +2466 +3485 +3020 +6683 +8000 + +7715 +6597 +5588 +2062 +6732 +3811 +10470 + +4793 +1206 +6481 +11715 +8827 +3174 + +3492 +1535 +2603 +5877 +4937 +6805 +1620 +9488 +1593 + +2182 +8258 +3319 +5499 +6257 +1466 +6435 +8334 +1140 +6764 + +15599 +28121 + +5804 +6653 +1670 +7337 +4711 +8303 +10073 +6327 + +2754 +2040 +2295 +8503 +2231 +11685 +6556 + +16325 +4057 +11110 + +6482 +2035 +5189 +6641 +4232 +1100 +1088 +2779 +2220 +3078 +2847 +6009 +1981 + +8655 +8687 +7225 +4133 +4449 +7193 +4009 +7455 + +2014 +2691 +1207 +1140 +6736 +4780 +2781 +2855 +5056 +3590 +2372 +6188 + +6779 +4130 +5169 +5726 +1503 +1520 +8302 +3054 +3037 +6190 + +6862 +7039 +1305 +4226 +5769 +5068 +8362 +7612 +6856 + +17695 +18988 +3757 +15137 + +5268 +3234 +2073 +1529 +1190 +5659 +7316 +3075 +4191 +6111 +2582 +7122 + +9316 +2087 +2980 +12121 +1703 +6661 +4286 + +20694 +6712 +15401 + +4342 +3838 +3208 +2372 +1410 +1648 +2342 +6113 +5573 +6091 +2624 +1749 +5643 +4258 + +2303 +2178 +3449 +3150 +3825 +3673 +1326 +6377 + +10398 +3801 +11714 +7455 +3382 +6182 + +27882 + +6667 +3268 +11915 +7045 +10478 +10538 +2287 + +5694 +5516 +6094 +4909 +5685 +4931 +5949 +6361 +6476 +6439 +1667 +5691 +3883 +3307 + +9977 +7477 +6533 +9766 +4576 +2051 +1376 + +5966 +7654 +5784 +2727 +7568 +4600 +2150 +1333 +6583 +4119 +2648 + +11274 +8674 +4155 +2163 +1897 +6579 +11099 + +2751 +4530 +5488 +1491 +2456 +2752 +1767 +6113 +7730 +7127 + +8657 +6947 +4803 +5103 +4373 +9501 +1486 +5689 + +4382 +5176 +2533 +6017 +6100 +4935 +1841 +4530 +6120 +4735 +3438 +3305 +5324 +2814 + +41401 + +20975 +30628 + +2099 +5390 +4829 +5845 +2674 +1029 +3312 +3412 +3402 +5544 +4773 +5274 +2458 +4309 +2741 + +4345 +7095 +7361 +2171 +6003 +5069 +1941 +2473 +2116 +6508 +6491 +7227 + +8137 +8052 +5372 +1086 +2369 +5763 +8937 +9055 +1208 + +4359 +3906 +5012 +2086 +4937 +4239 +3390 +3280 +4948 +3906 +6387 + +6430 +11071 +1179 +6918 +12028 +1855 + +11059 +14754 +15751 +15821 +9411 + +8722 +1104 +7422 +9229 +7919 +6200 +2274 +2980 +5686 + +3277 +4325 +9477 +9651 +4798 +8742 +4308 +6656 +6746 + +5777 +6805 +4337 +4847 +4966 +3525 +2729 +6611 +3070 +3734 +1957 +1360 +1678