Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define filer() freopen("in.txt","r",stdin)
- #define filew() freopen("out.txt","w",stdout)
- #define SET(a, x) memset((a), (x), sizeof(a))
- #define ll long long
- #include<iostream>
- #include<stdio.h>
- #include<string.h>
- #include<math.h>
- #include<algorithm>
- #include<queue>
- #include<stack>
- #include<vector>
- #include <map>
- #define INF 1<<29
- using namespace std;
- int main()
- {
- ll d=10;
- ll i,j,n,lo,hi,mid,ans,term,k,a;
- int cas=0,T;
- scanf("%d",&T);
- while(cas<T)
- {
- scanf("%lld",&n);
- cas++;
- //if(n==0)break;
- i=2;
- k=0;
- ans=0;
- mid=0;
- while(i<=n/2)
- {
- lo=i;
- hi=i+k+d;
- while(lo<=hi)
- {
- mid=(lo+hi)/2;
- /*if((n/mid)==(n/i))
- {
- a=mid;
- l=mid+1;
- }*/
- if((n/mid)<(n/i))
- {
- hi=mid-1;
- }
- else {a=mid;lo=mid+1;}
- }
- term=(n/i)-1;
- k=a-i+1;
- term*=((k*(k+1))/2)+(k*(i-1));
- i=a;
- i++;
- ans+=term;
- }
- printf("Case %d: %lld\n",cas,ans);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement