Contents
Akash and Function Solution Codechef
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) such that the condition:
- F(X)=F(2⋅X) holds true for all X, where X is a positive integer.
For a given positive integer N, find the maximum number of distinct elements in the array [F(1),F(2),F(3),…,F(N)].
Input Format
- First line will contain T – the number of test cases. Then the test cases follow.
- Each test case contains a single line of input, one integer N.
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)].
Constraints
- 1≤T≤1000
- 1≤N≤10^9
Subtasks
- Subtask 1 (30 points): 1≤N≤1000
- Subtask 2 (70 points): Original Constraints.
Sample Input 1
2
2
5
Sample Output 1
1
3
Explanation
- Test case 1: Let X=1. Thus, 2=2⋅1=2⋅X. Therefore, F(1)=F(2). So, in the array [F(1),F(2)], there is only 1 distinct element.
- Test case 2: Here, we can take X=1. Thus F(1)=F(2). Similarly, if we take X=2, F(2)=F(4). This means that F(1)=F(2)=F(4).
However, it can be possible that the values F(1),F(3), and F(5) are distinct. Hence, the maximum number of distinct elements in the array [F(1),F(2),F(3),F(4),F(5)] is 3.
SOLUTION
Program: Akash and Function Solution Codechef in Python
for _ in range(int(input())):
n = int(input())
n += 1
print(n//2)
Program: Akash and Function Solution Codechef in C++
#include <iostream>
using namespace std;
int main() {
int t;
cin>>t;
while(t--)
{
int n;
cin>>n;
cout<<(n+1)/2;
cout<<endl;
}
return 0;
}
Program: Akash and Function Solution Codechef in 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 n=sc.nextInt();
for (int i=1;i<=n ;i++ ){
int z=sc.nextInt();
int s=(z+1)/2;
System.out.println(s);
}
}
}
Codechef March Long Challenge 2022 Solutions
- Bath in Winters Solution Codechef
- Discus Throw Solution Codechef
- Count the Ones Solution Codechef
- MEX on Trees Solution Codechef
- Subarray XOR Solution Codechef
- Substring of a Substring Solution Codechef
- Exact Marks Solution Codechef
- Akash and Function Solution Codechef
- Akash and Missing Class Solution Codechef
- Wordle Solution Codechef