Advertisement
coffeebeforecode

kgcd-editorial-testers

May 16th, 2021
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.58 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. long long int f(long long int n)
  4. {
  5.     long long int ans = n, fibo[] = {0,1,1};
  6.     while(true)
  7.     {
  8.         long long int to_add = ((n - fibo[2])/fibo[1]);
  9.         if(!to_add)
  10.             break;
  11.         ans+=to_add;
  12.         fibo[0] = fibo[1];
  13.         fibo[1] = fibo[2];
  14.         fibo[2] = (fibo[0] + fibo[1]);
  15.     }
  16.     return ans;
  17. }
  18. int main()
  19. {
  20.     int t;
  21.     cin>>t;
  22.     while(t--)
  23.     {
  24.         long long int n;
  25.         cin>>n;
  26.         long long int ans = 0, v1 = 1, v2;
  27.         while(v1 <= n)
  28.         {
  29.             v2 = (n/(n/v1));
  30.             ans+=(v2 + 1 - v1)*f(n/v1);
  31.             v1 = v2 + 1;
  32.         }
  33.         cout<<ans<<"\n";
  34.     }
  35.     return 0;
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement