Akash and Function Codechef Solution | MARCH LONG CHALLENGE

Codechef
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

Subtasks

  • 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

Akash and Function codechef Solution Tutorial

Read More Post Here

Leave a Comment

Your email address will not be published. Required fields are marked *

x