# Greatest number at least K times the others | Hexaware coding question

## 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.

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

### Recommended Post :-

HCL Coding Questions:-

Capgemini Coding Questions:-
iMocha coding Questions:-
Tech Mahindra coding questions:-
Unthinkable Solutions coding questions:-