UVa-10487-Closest Sums
AOAPC I: Beginning Algorithm Contests (Rujia Liu) :: Volume 4. Algorithm Design
// 10487 - Closest Sums #include <iostream> #include <cstdlib> using namespace std; int main(void) { int cnt = 1; int i, j, k, n, m, sum, near, sum_t, near_t; int integer[1001], query[25]; while(cin >> n && n != 0) { cout << "Case " << cnt++ << ":" << endl; for(i = 0; i < n; i++) cin >> integer[i]; cin >> m; for(i = 0; i < m; i++) cin >> query[i]; for(k = 0; k < m; k++) { near = 0x7fffffff; for(i = 0; i < n; i++) for(j = i+1; j < n; j++) { if(integer[i] == integer[j]) continue; sum_t = integer[i] + integer[j]; near_t = abs(sum_t - query[k]); if(near_t < near) { sum = sum_t; near = near_t; } } cout << "Closest sum to " << query[k] <<" is " << sum << "." << endl; } } return 0; }