Advertisement
farsid

Untitled

Jul 12th, 2012
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1.  
  2. #define filer() freopen("in.txt","r",stdin)
  3. #define filew() freopen("out.txt","w",stdout)
  4. #define SET(a, x) memset((a), (x), sizeof(a))
  5. #define ll long long
  6. #include<iostream>
  7. #include<stdio.h>
  8. #include<string.h>
  9. #include<math.h>
  10. #include<algorithm>
  11. #include<queue>
  12. #include<stack>
  13. #include<vector>
  14. #include <map>
  15. #define INF 1<<29
  16.  
  17. using namespace std;
  18.  
  19.  
  20.  
  21. int main()
  22. {
  23. ll d=10;
  24. ll i,j,n,lo,hi,mid,ans,term,k,a;
  25. int cas=0,T;
  26. scanf("%d",&T);
  27. while(cas<T)
  28. {
  29. scanf("%lld",&n);
  30. cas++;
  31. //if(n==0)break;
  32. i=2;
  33. k=0;
  34. ans=0;
  35. mid=0;
  36. while(i<=n/2)
  37. {
  38. lo=i;
  39. hi=i+k+d;
  40. while(lo<=hi)
  41. {
  42. mid=(lo+hi)/2;
  43. /*if((n/mid)==(n/i))
  44. {
  45. a=mid;
  46. l=mid+1;
  47. }*/
  48. if((n/mid)<(n/i))
  49. {
  50. hi=mid-1;
  51. }
  52. else {a=mid;lo=mid+1;}
  53. }
  54. term=(n/i)-1;
  55. k=a-i+1;
  56. term*=((k*(k+1))/2)+(k*(i-1));
  57. i=a;
  58. i++;
  59. ans+=term;
  60.  
  61. }
  62. printf("Case %d: %lld\n",cas,ans);
  63.  
  64. }
  65. return 0;
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement