diff options
author | tomsmeding <tom.smeding@gmail.com> | 2016-12-14 20:19:02 +0100 |
---|---|---|
committer | tomsmeding <tom.smeding@gmail.com> | 2016-12-14 20:19:02 +0100 |
commit | 2d02f553aa4cc4ded630628eccdf34f55937cee5 (patch) | |
tree | d5377ebdff68788725b5820d5331ce7b6c9d4a84 /2015/day20.cpp | |
parent | 97b4c5d86cc12447ac6845e25a863e26a88aec35 (diff) |
Add 2015 sources
Diffstat (limited to '2015/day20.cpp')
-rw-r--r-- | 2015/day20.cpp | 23 |
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); +} |