Skip to main content

Broken Economy

 In a country of novice government, the economic system is changed where only coins are used that too of various denominations. Whenever a foreigner visits this country, they visit a money exchanger to get the currency of the same country. As the foreigner is unaware of the denomination of the country, the money exchange prefers to tell them the denomination which is the nearest maximum and nearest minimum to the denomination mentioned by the foreigner. In case they get the correct guess of the denomination, they are told the same denomination. The denominations are always quoted in ascending order.


Example 1: In a country, 8 given denominations are as follows
[5, 10, 15, 22, 33, 40, 42, 55]

The foreigner asks for denomination 25.
The money exchange tells them that denominations of 33 and 22 are available.

Example 2:
In a country, 5 given denominations are as follows
[7, 14, 18, 25, 30]

The foreigner asks for the denomination of 18.

The money exchange tells them a denomination of 18 is available.

You are required to print the values told by the money exchange to the foreigner.

1. You are given a number n, representing the size of array a.
2. You are given n numbers, representing elements of the array a.
3. You are given another number d.
4. You are required to find the ceil and floor of d in array a.
Input Format
A number n
n1
n2
.. n number of elements
A number d
Output Format
A number representing ceil
A number representing floor
Constraints
1 <= n <= 1000
-10^9 <= n1, n2, .. n elements <= 10^9
-10^9 <= d <= 10^9
Sample Input
10
1
5
10
15
22
33
40
42
55
66
34
Sample Output
40
33
import java.io.*;
import java.util.*;

public class Main{

public static void main(String[] args) throws Exception {
    // write your code here
    Scanner scn = new Scanner(System.in);
    int n = scn.nextInt();
    int[] arr = new int[n];
    for(int i=0;i<n;i++)
        arr[i] = scn.nextInt();
    int d = scn.nextInt();
    int lt = 0,rt = n-1,mid = 0;
    
    while(lt<=rt){
        mid = (lt + rt) / 2;
        if(arr[mid]>d)
            rt = mid - 1;
        else if(arr[mid]<d)
            lt = mid + 1;
        if(arr[mid]==d)
            break;
    }
    
    if(lt > rt){
        System.out.println(arr[lt]);
        System.out.println(arr[rt]);
    }else 
        System.out.println(arr[mid]);
 }

}

Comments

Popular posts from this blog

Classes and Objects | Accenture TFA

  Question  1 Correct Mark 1.00 out of 1.00 Flag question Question text ___ and _____ are the access specifiers that can be applied to top level Class. Select one or more: public   protected default   private Feedback Your answer is correct. The correct answers are: default, public Question  2 Correct Mark 1.00 out of 1.00 Flag question Question text class Sample{      private double num = 100;    private int square(int a){ return a*a;    } }   public class Test{    public static void main(String args[]){   Sample obj = new Sample();   System.out.println(obj.num);  System.out.println(obj.square(10));    }   } Select one: Compile time error   Run time error Executes but no output 100 Feedback Your answer is correct. The correct answer is: Compile time error Question  3 Correct Mark 1.00 out of 1.00 Flag question Question text Choose the appropriate access specifier for the attribute value so that it can be accessed from anywhere. class Test { Choose... private protected public d

Spot Round

Never ever give up !!! “Life is a journey with up and downs” Feeling happy when everything is right is natural, but feeling sad for something gone wrong can’t be justified. Many say miracle doesn’t happen, but a miracle is something that doesn’t have logic… Do you believe in miracles? So, stop seeing logic everywhere and then you can feel miracles. I want to share something… During my counselling for Bachelor’s degree till last round, I was unable to get a seat in college I want to study in. It felt like everything has gone. Then I heard about Spot Round. I was not sure to secure a seat. But I went there to try my luck, in a hope of a miracle. So, I kept ready all my necessary documents made a DD for this round. While I was going to reporting centre my mind was full of the variety of thoughts. I made a mistake and I was little late for reporting. So, I rushed up through check-in and register myself for this special round. Then I went to a hall where everyone

Certificates Format JoSAA 2018

Certificates Format JoSAA 2018 JoSAA certificate formats  required at time of documents verification at reporting centres are released and must download them from here... Click the  JoSAA certificate formats  and you will get the certificate you want for JoSAA. You can download required formats from this page. Do check for these documents before leaving your place... Click here to get the checklist for JoSAA counselling documents verification... Know more about first-round result 2018... Certificates Format JoSAA 2018 Format for Document Verification For admission to IITs and ISM The format for Document Verification For admission to IITs and ISM is given below. You will have to follow this pattern for JoSAA document Verification, click here to download... Format for Document Verification For admission to NITs, IIITs and Other-GFTIs For admission to NITs, IIITs and Other-GFTIs candidates will have to verify their documents and here is the format