codechef probelm :
problem code : SNUG_FIT
Once again, we have a lot of requests from coders for a challenging problem on geometry. Geometry expert Nitin is thinking about a problem with parabolas, icosahedrons, crescents and trapezoids, but for now, to encourage beginners, he chooses to work with circles and rectangles.
You are given two sequences and . You should choose a permutation of the integers through and construct rectangles with dimensions . Then, for each of these rectangles, you should construct an inscribed circle, i.e. a circle with the maximum possible area that is completely contained in that rectangle.
Let be the sum of diameters of these circles. Your task is to find the maximum value of .
Input
- The first line of the input contains a single integer denoting the number of test cases. The description of test cases follows.
- The first line of each test case contains a single integer .
- The second line contains space-separated integers .
- The third line contains space-separated integers .
Output
For each test case, print a single line containing one integer ― the maximum value of . It is guaranteed that this value is always an integer.
Constraints
- for each valid
Subtasks
Subtask #1 (20 points):
Subtask #2 (80 points): original constraints
Sample Input 1
2
4
8 8 10 12
15 20 3 5
3
20 20 20
10 10 10
Sample Output 1
30
30
Explanation
Example case 1: Four rectangles with dimensions , , and lead to an optimal answer.
solution :
#include <bits/stdc++.h>
using namespace std;
int main() {
int t;
cin >> t;
while(t--)
{
int n ;
cin >> n;
int a[100000];
int b[100000];
for(int i =0 ; i < n ; i++)
{
cin >> a[i];
}
for(int i =0 ; i < n ; i++)
{
cin >> b[i];
}
sort(a , a+n);
sort(b , b+n);
long int sum_dia =0;
for(int i =0 ; i < n ; i++)
{
sum_dia += (b[i]<a[i]?b[i]:a[i]);
}
cout << sum_dia << "\n";
}
return 0;
}
Comments
Post a Comment