DIVSUM2  Divisor Summation (Hard)
Given a natural number n (1 <= n <= 1e16), please output the summation of all its proper divisors.
Definition: A proper divisor of a natural number is the divisor that is strictly less than the number.
e.g. number 20 has 5 proper divisors: 1, 2, 4, 5, 10, and the divisor summation is: 1 + 2 + 4 + 5 + 10 = 22.
Input
An integer stating the number of test cases (equal to 500), and that many lines follow, each containing one integer between 1 and 1e16 inclusive.
Output
One integer each line: the divisor summation of the integer given respectively.
Example
Input: 3 2 10 20 Output: 1 8 22warning: a naive algorithm may not run in time.
hide comments
spojmehedi:
20191007 22:32:50
Be carefull about Overflow..10 WA..Finally AC


noble_mushtak:
20190706 18:07:13
This is actually a rather straightforward problem, in my opinion. Solved in two tries (first try, I forgot to put a small line of code). 9.32 seconds and 248 MB in C++14. However, factoring in O(sqrt(n)) is not necessarily fast enough. I was able to handle each query in O(π(sqrt(n))=O(sqrt(n)/log(n)). Last edit: 20190706 18:45:23 

maximum_01:
20190702 12:00:46
factorizing in o(root(n)) but still getting tle


frochbg:
20190531 16:16:01
Nice problem with fast factorization :) 

scolar_fuad:
20190413 16:00:05
please share idea is any ??


des1997:
20180623 11:50:33
ran in 3.02 seconds:) 

karthik1997:
20171228 13:39:05
Can't go below 2s . :( 

kmkhan_014:
20171221 16:55:26
this is extremel !!! AC in 15s 

mastik5h_1998:
20170623 07:40:49
very annoying question.......


oualiamine:
20170320 22:12:50
what does 1e16 means?

Added by:  Bin Jin 
Date:  20070829 
Time limit:  18.17s 
Source limit:  50000B 
Memory limit:  1536MB 
Cluster:  Cube (Intel G860) 
Languages:  All except: CPP 
Resource:  own problem 