예를 들어 위와 같이 (2, 1), (3, 2), (5, 2), (3, 4) 네 점에서 옥구슬을 발견하였다면, 임씨에게 돌아갈 대지는 (2, 1), (5, 1), (2, 4), (5, 4)를 네 꼭짓점으로 하는 직사각형이며, 넓이는 (5 - 2) × (4 - 1) = 9 가 된다.
첫째 줄에는 점의 개수 N (1 ≤ N ≤ 100,000) 이 주어진다. 이어지는 N 줄에는 각 점의 좌표가 두 개의 정수로 한 줄에 하나씩 주어진다. 각각의 좌표는 -10,000 이상 10,000 이하의 정수이다.
첫째 줄에 N 개의 점을 둘러싸는 최소 크기의 직사각형의 넓이를 출력하시오.
초기화 후 최솟값과 최대값을 갱신하면서 마지막에 그 차이로 너비를 구하면 된다.
#include <iostream>
using namespace std;
int main()
{
int N,x,x1(-10001),x2(10001),y,y1(-10001),y2(10001);
for(cin>>N;N--;){
cin >> x >> y;
// max update
if (x>x1) x1=x;
if (y>y1) y1=y;
// min update
if (x<x2) x2=x;
if (y<y2) y2=y;
}
cout << (x1-x2)*(y1-y2);
}
정말 유익한 글이었습니다.