QUESTION


TEST CASE 1 

INPUT
3
1 4 10
3
2 15 20
2
10 12
OUTPUT
10 15 10
TEST CASE 2 

INPUT
3
20 24 100
5
2 19 22 79 800
5
10 12 23 24 119
OUTPUT
24 22 23




answer------

#include<bits/stdc++.h> 
using namespace std; 
  
void findClosest(int A[], int B[], int C[], int p, int q, int r) 
{ 
  
    int diff = INT_MAX; 
  
    int res_i =0, res_j = 0, res_k = 0; 
  
    
    int i=0,j=0,k=0; 
    while (i < p && j < q && k < r) 
    { 
        int minimum = min(A[i], min(B[j], C[k])); 
        int maximum = max(A[i], max(B[j], C[k]));  
        if (maximum-minimum < diff) 
        { 
             res_i = i, res_j = j, res_k = k; 
             diff = maximum - minimum; 
        } 
  
        if (diff == 0) break; 
  
        if (A[i] == minimum) i++; 
        else if (B[j] == minimum) j++; 
        else k++; 
    } 
  
    cout << A[res_i] << " " << B[res_j] << " " << C[res_k]; 
} 
  
int main() 
{ 
    int A[3] ;
    int B[3] ;
    int C[3] ;
  
    int i,a,b,c;
  cin>>a;
  for(i=0;i<a;i++)
  {
    cin>>A[i];
  }
  cin>>b;
  for(i=0;i<b;i++)
  {
    cin>>B[i];
  } 
   cin>>c;
  for(i=0;i<c;i++)
  {
    cin>>C[i];
  }
      int p = sizeof A / sizeof A[0]; 
    int q = sizeof B / sizeof B[0]; 
    int r = sizeof C / sizeof C[0];
    findClosest(A, B, C, p, q, r); 
    return 0; 
} 

Comments

Popular posts from this blog