#include<stdio.h> #include<fstream> using namespace std; inline int cmp (const void *a, const void *b) { long long aa = *(long long *)a; long long bb = *(long long *)b; return (aa < bb) ? -1 : (aa > bb) ? 1 : 0; } void R1A() { int T, n; long long sum; char ch; ofstream out_f; out_f.open(".//acm//r1-large.out"); ifstream in_f; in_f.open(".//acm//r1-A-large-practice.in");//.//acm//A-large-practice.in");// if(!in_f){ exit(1); } in_f>>T; int i, k; for(i = 0; i < T; i++){ in_f>>n; long long* a = new long long[n]; long long* b = new long long[n]; for(k = 0; k < n; k++){ in_f>>a[k]; } for(k = 0; k < n; k++){ in_f>>b[k]; } qsort(a, n, sizeof(long long), cmp); qsort(b, n, sizeof(long long), cmp); sum = 0; for(k = 0; k < n; k++){ sum += a[k] * b[n-1-k]; } out_f<<"Case #"<<i+1<<':'<<' '<<sum<<endl; } in_f.close(); out_f.close(); return; }