problem id:-http://practice.geeksforgeeks.org/problems/sherlock-and-his-enemies/0
code:-
code:-
#include<iostream>
using namespace std;
int main()
{
int t;
cin>>t;
int arr[1000001]={0};
for(int i=1;i<=1000000;++i)
{
int n=1,j=i;
while((n<<1)<=j)
{
n<<=1;
}
j=j-n;
arr[i]+=j+1+arr[n-1]+arr[j];
}
while(t--)
{
int num;
cin>>num;
cout<<arr[num]<<'\n';
}
return 0;
}
No comments:
Post a Comment