GeeksforGeeks Solution For School Domain .Below You Can Find The Solution Of Basic ,Easy ,Medium ,Hard .You Can Also Direct Submit Your Solution to Geeksforgeeks Same Problem .You Need to login then you can submit you answers
Problem :- You will be given two arrays A and B of positive integers. The number of values in both the arrays will be the same say N. Your task is to find the maximum sum of products of their elements. Each element in A has to be multiplied with exactly one element in B and vice versa such that each element of both the arrays appears exactly once and the sum of product produced is maximum.
if A = {5,1,3,4,2} and B = {8,10,9,7,6} then a possible sum of product is 5*6 + 1*7 + 3*9 + 4*10 + 2*8.
Submit Your Solution :- Click Here
Solution :-
#include <iostream>
#include<algorithm>
#include <vector>
using namespace std;
int main()
{
int t,i,j;
cin>>t;
while(t--)
{
int n,sum=0;
cin>>n;
vector <int> arr(n);
vector <int> arr1(n);
for(i=0;i<n;i++)
{
cin>>arr[i];
}
for(j=0;j<n;j++)
{
cin>>arr1[j];
}
sort(arr.begin(),arr.end());
sort(arr1.begin(),arr1.end());
for(i=n-1;i>=0;i--)
{
sum=sum+arr[i]*arr1[i];
}
cout<<sum<<endl;
}
return 0;
}
Output:-
0 Comments: