// UVa 11968 - In The Airport
#include <stdio.h>
#include <math.h>
int main() {
int cases;
scanf("%d", &cases);
for (int cas = 1; cas <= cases; cas++) {
int n, m, k;
long long cakes[1000], drinks[1000];
long long total = 0;
scanf("%d %d %d", &n, &m, &k);
for (int i = 0; i < m; i++) {
scanf("%d", &cakes[i]);
total += cakes[i];
}
for (int i = 0; i < k; i++) {
scanf("%d", &drinks[i]);
total += drinks[i];
}
for (int i = 0; i < n - m - k; i++) {
long long price;
scanf("%d", &price);
total += price;
}
double avg = total / double(n);
int best_cake = cakes[0];
double best_distance = fabs(cakes[0] - avg);
for (int i = 1; i < m; i++) {
double this_distance = fabs(cakes[i] - avg);
if (this_distance < best_distance || (this_distance == best_distance && cakes[i] < best_cake)) {
best_distance = this_distance;
best_cake = cakes[i];
}
}
int best_drink = drinks[0];
best_distance = fabs(drinks[0] - avg);
for (int i = 1; i < k; i++) {
double this_distance = fabs(drinks[i] - avg);
if (this_distance < best_distance || (this_distance == best_distance && drinks[i] < best_drink)) {
best_distance = this_distance;
best_drink = drinks[i];
}
}
printf("Case #%d: %d %d\n", cas, best_cake, best_drink);
}
return 0;
}
Friday, April 24, 2015
UVa 11968 - In The Airport
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment