2454 multiset<pair<unsigned int, unsigned int>, cmprow> row;
2455 multiset<pair<unsigned int, unsigned int>, cmpcol> col;
2456 for(
unsigned int i = 0; i < n; i++) {
2458 row.insert(pair(x, y));
2459 col.insert(pair(x, y));
2461 unsigned int minimum = ((*row.rbegin()).first - (*row.begin()).first) * ((*col.rbegin()).second - (*col.begin()).second);
2463 auto row_cpy = multiset(row);
2464 auto col_cpy = multiset(col);
2465 auto r_pair = *row_cpy.begin();
2466 row_cpy.erase(row_cpy.find(r_pair));
2467 col_cpy.erase(col_cpy.find(r_pair));
2468 minimum = min(minimum, ((*row_cpy.rbegin()).first - (*row_cpy.begin()).first) * ((*col_cpy.rbegin()).second - (*col_cpy.begin()).second));
2470 row_cpy = multiset(row);
2471 col_cpy = multiset(col);
2472 r_pair = *row_cpy.rbegin();
2473 row_cpy.erase(row_cpy.find(r_pair));
2474 col_cpy.erase(col_cpy.find(r_pair));
2475 minimum = min(minimum, ((*row_cpy.rbegin()).first - (*row_cpy.begin()).first) * ((*col_cpy.rbegin()).second - (*col_cpy.begin()).second));
2477 row_cpy = multiset(row);
2478 col_cpy = multiset(col);
2479 auto c_pair = *col_cpy.begin();
2480 row_cpy.erase(row_cpy.find(c_pair));
2481 col_cpy.erase(col_cpy.find(c_pair));
2482 minimum = min(minimum, ((*row_cpy.rbegin()).first - (*row_cpy.begin()).first) * ((*col_cpy.rbegin()).second - (*col_cpy.begin()).second));
2484 row_cpy = multiset(row);
2485 col_cpy = multiset(col);
2486 c_pair = *col_cpy.rbegin();
2487 row_cpy.erase(row_cpy.find(c_pair));
2488 col_cpy.erase(col_cpy.find(c_pair));
2489 minimum = min(minimum, ((*row_cpy.rbegin()).first - (*row_cpy.begin()).first) * ((*col_cpy.rbegin()).second - (*col_cpy.begin()).second));