https://www.acmicpc.net/problem/2628
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int N, W, H,max_size = 0;
vector<vector<int>> list = { {0},{0} };
void solution() {
sort(list[0].begin(), list[0].end());
sort(list[1].begin(), list[1].end());
for (int i = 1; i < list[0].size(); i++) { //가로로 자름
for (int k = 1; k < list[1].size(); k++) { //세로로 자름
int size = (list[1][k] - list[1][k - 1]) * (list[0][i] - list[0][i - 1]);
if (max_size < size) max_size = size;
}
}
cout << max_size << endl;
}
int main() {
cin >> W >> H;
cin >> N;
for (int i = 0; i < N; i++) {
int n, m;
cin >> n >> m;
list[n].push_back(m);
}
list[0].push_back(H);
list[1].push_back(W);
solution();
return 0;
}
'전공공부 > 코딩테스트' 카테고리의 다른 글
(c++) 백준 "2116) 주사위 쌓기" (0) | 2022.04.25 |
---|---|
(c++) 프로그래머스 "주차요금계산" (0) | 2022.04.25 |
(c++) 프로그래머스 "JadenCase 문자열 만들기" (0) | 2022.04.24 |
(c++) 프로그래머스 "양궁대회" (0) | 2022.04.24 |
(c++) 백준 "1244 : 스위치 켜고 끄기" (0) | 2022.04.22 |