# Akash and Function Codechef Solution | MARCH LONG CHALLENGE Share:

Akash and Function CodeChef Solution:

Akash has his maths test tomorrow. He secretly found out one of the questions from the test. As the test is online, he wants to write a code that solves the question. However, he is not good at coding and thus, wants Chef to help him with that.

Chef is given a function F(X)F(X) such that the condition:

• F(X)=F(2⋅X)F(X)=F(2⋅X)
holds true for all XX, where XX is a positive integer.

For a given positive integer NN, find the maximum number of distinct elements in the array [F(1),F(2),F(3),…,F(N)][F(1),F(2),F(3),…,F(N)].

### Input Format

• First line will contain TT – the number of test cases. Then the test cases follow.
• Each test case contains a single line of input, one integer NN.

### Output Format

For each test case, output in a single line, the maximum number of distinct elements in the array [F(1),F(2),F(3),…,F(N)][F(1),F(2),F(3),…,F(N)].

### Constraints

• 1≤T≤10001≤T≤1000
• 1≤N≤1091≤N≤109

• Subtask 1 (30 points): 1≤N≤10001≤N≤1000
• Subtask 2 (70 points): Original Constraints.

### Sample Input 1

``````2
2
5
``````

### Sample Output 1

``````1
3
``````

### Explanation

Test case 11: Let X=1X=1. Thus, 2=2⋅1=2⋅X2=2⋅1=2⋅X. Therefore, F(1)=F(2)F(1)=F(2). So, in the array [F(1),F(2)][F(1),F(2)], there is only 11 distinct element.

Test case 22: Here, we can take X=1X=1. Thus F(1)=F(2)F(1)=F(2). Similarly, if we take X=2X=2, F(2)=F(4)F(2)=F(4). This means that F(1)=F(2)=F(4)F(1)=F(2)=F(4).
However, it can be possible that the values F(1),F(3),F(1),F(3), and F(5)F(5) are distinct. Hence, the maximum number of distinct elements in the array [F(1),F(2),F(3),F(4),F(5)][F(1),F(2),F(3),F(4),F(5)] is 33.

### Akash and Function Codechef Solution

#### C++

``````#include<bits/stdc++.h>
using namespace std;

int main(void)
{
int P;
int S;
cin>>P;
while (P--) {

int S;
cin>>S;
S++; cout<<S/2<<endl;
}
return 0;
}``````

#### Java

``````import java.util.*;
import java.lang.*;
import java.io.*;

class Codechef
{
public static void main (String[] args) throws java.lang.Exception
{
Scanner sc=new Scanner(System.in);
int testCase=sc.nextInt();
while(testCase>0)
{
int n=sc.nextInt();
int ans=(n+1)/2;
System.out.println(ans);
testCase=testCase-1;
}
}
}``````

#### Python

``````p = int(input())
while (p > 0):
n = int(input())
pp = int((n+1)/2)

print(pp)
p = p - 1``````