__Greatest number at least K times the others | Hexaware coding question__

You are given an array A of numbers of size N. Your task is to determine whether the maximum value of the array is at least K times every other number in the array. If the above condition is fulfilled, then print the index of the maximum number . otherwise, print -1 as output.

Note:

- Indexing starts from 0.
- The largest element in the array is unique.

**Input format:**

The input consists of two lines:

- The first line contains two integers N and K.
- The second line contains N space-separated integers denoting the elements of the array A.

**Output Format:**

There exists a maximum number that satisfies the given condition then print the index of that number otherwise print "-1".

**Constraints:**

- 1≤ N ≤ 106
- 0≤K≤ 100.
- 0 ≤ A[i] ≤ 105.

**Example:**

**Input:**

4 2

3 6 1 0

**Output:**

1

**Explanation:**

6 is the largest number in the array.

For every other number 'x' in the array, 6 is at least twice as big as 'x'.

The index of value 6 is 1, so the output is 1.

For every other number 'x' in the array, 6 is at least twice as big as 'x'.

The index of value 6 is 1, so the output is 1.

__Code(C++):-__#include<bits/stdc++.h>

using namespace std;

int main()

{

int n,k;

cin>>n>>k;

int a[n],max=-1,in;

for(int i=0;i<n;i++)

{

cin>>a[i];

if(max<a[i])

{

max=a[i];

in=i;

}

}

int flag=0;

for(int i=0;i<n;i++)

{

if(a[i]==max || a[i]*k<=max)

continue;

else

{

flag=1;

break;

}

}

if(flag==0)

cout<<in<<endl;

else

cout<<-1<<endl;

return 0;

}

__Output:-__10 2

1 2 3 4 9 8 7 6 12 25

9

Code(java) :-import java.util.*;

public class Main{ public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n,k; n=sc.nextInt(); k=sc.nextInt(); int[] arr=new int[n]; int max=-1,in=0; for(int i=0;i<n;i++) { arr[i]=sc.nextInt(); if(max<arr[i]) { max=arr[i]; in=i; } } int flag=0; for(int i=0;i<n;i++) { if(max==arr[i] || arr[i]*k<=max) continue; else { flag=1; break; } } if(flag==0) System.out.println(in); else System.out.println(-1); }}

Code(java) :-

import java.util.*;

public class Main{

public static void main(String[] args)

{

Scanner sc=new Scanner(System.in);

int n,k;

n=sc.nextInt();

k=sc.nextInt();

int[] arr=new int[n];

int max=-1,in=0;

for(int i=0;i<n;i++)

{

arr[i]=sc.nextInt();

if(max<arr[i])

{

max=arr[i];

in=i;

}

}

int flag=0;

for(int i=0;i<n;i++)

{

if(max==arr[i] || arr[i]*k<=max)

continue;

else

{

flag=1;

break;

}

}

if(flag==0)

System.out.println(in);

else

System.out.println(-1);

}

}

__Recommended Post ____:-__

__Recommended Post__

__:-__

__HCL Coding Questions:-__

__Capgemini Coding Questions:-__

__iMocha coding Questions:-__

__Tech Mahindra coding questions:-__

__Unthinkable Solutions coding questions:-__- Swap the adjacent characters of the string
- Double the vowel characters in the string
- Character with their frequency
- Program to find the closest value

__Must check this:-__

__Companies interview:-__- Swap adjacent characters
- Double the vowel characters
- Check valid parenthesis
- Print the characters with their frequencies
- Find closest value
- Word Count
- Program of CaesarCipher
- Program to find the perfect city
- Annual Day | Tech Mahindra coding question
- Find the number of pairs in the array whose sum is equal to a given target.

__Full C course:- __

__Key points:-__

- How to set limit in the floating value in python
- What is boolean data type
- How to print any character without using format specifier
- How to check that given number is power of 2 or not
- How to fix limit in double and floating numbers after dot (.) in c++
- How to print a double or floating point number in scientific notation and fixed notation
- How to take input a string in c
- How to reduce the execution time of program in c++.

__Cracking the coding interview:-__

__Array and string:-__

__Tree and graph:-__

__Hackerearth Problems:-__

- Very Cool numbers | Hacker earth solution
- Vowel Recognition | Hackerearth practice problem solution
- Birthday party | Hacker earth solution
- Most frequent | hacker earth problem solution
- program to find symetric difference of two sets
- cost of balloons | Hacker earth problem solution
- Chacha o chacha | hacker earth problem solution
- jadu and dna | hacker earth solution
- Bricks game | hacker earth problem
- Anti-Palindrome strings | hacker earth solution
- connected components in the graph | hacker earth data structure
- odd one out || hacker earth problem solution
- Minimum addition | Hackerearth Practice problem
- The magical mountain | Hackerearth Practice problem
- The first overtake | Hackerearth Practice problem

__Hackerrank Problems:-__- Playing With Characters | Hackerrank practice problem solution
- Sum and Difference of Two Numbers | hackerrank practice problem solution
- Functions in C | hackerrank practice problem solution
- Pointers in C | hackerrank practice problem solution
- Conditional Statements in C | Hackerrank practice problem solution
- For Loop in C | hackerrank practice problem solution
- Sum of Digits of a Five Digit Number | hackerrank practice problem solution
- 1D Arrays in C | hackerrank practice problem solution
- Array Reversal | hackerrank practice problem solution
- Printing Tokens | hackerrank practice problem solution
- Digit Frequency | hackerrank practice problem solution
- Calculate the Nth term | hackerrank practice problem solution

__Data structure:-__

- Program to find cycle in the graph
- Implementation of singly link list
- Implementation of queue by using link list
- Algorithm of quick sort
- stack by using link list
- program to find preorder post order and inorder of the binary search tree
- Minimum weight of spanning tree
- Preorder, inorder and post order traversal of the tree

__ MCQs:-__

## 0 Comments