summaryrefslogtreecommitdiff
path: root/2015/day20.cpp
diff options
context:
space:
mode:
authortomsmeding <tom.smeding@gmail.com>2016-12-14 20:19:02 +0100
committertomsmeding <tom.smeding@gmail.com>2016-12-14 20:19:02 +0100
commit2d02f553aa4cc4ded630628eccdf34f55937cee5 (patch)
treed5377ebdff68788725b5820d5331ce7b6c9d4a84 /2015/day20.cpp
parent97b4c5d86cc12447ac6845e25a863e26a88aec35 (diff)
Add 2015 sources
Diffstat (limited to '2015/day20.cpp')
-rw-r--r--2015/day20.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/2015/day20.cpp b/2015/day20.cpp
new file mode 100644
index 0000000..2da1fa2
--- /dev/null
+++ b/2015/day20.cpp
@@ -0,0 +1,23 @@
+#include <iostream>
+#include <cstdlib>
+
+using namespace std;
+
+int main(void){
+ const int limit=10000000; //1e7
+ cerr<<"Alloc...";
+ int *scores=(int*)calloc(limit+1,sizeof(int));
+ cerr<<" done."<<endl;
+ int elf,i,ilimit;
+ for(elf=1;elf<=limit;elf++){
+ ilimit=limit/elf;
+ if(ilimit>50)ilimit=50;
+ for(i=1;i<=ilimit;i++){
+ scores[elf*i]+=elf*11;
+ }
+ if(scores[elf]>=36000000)break;
+ }
+ for(i=1;i<20;i++)cout<<scores[i]<<' '; cout<<endl;
+ cout<<elf<<endl;
+ free(scores);
+}