선택의 기로 (백준 30970)

코딩생활·2023년 12월 24일
0

백준문제풀이

목록 보기
135/308

안녕하세요. 오늘은 선택을 할 거예요.

문제

https://www.acmicpc.net/problem/30970

아이디어

딱 보면 정렬이 필요하다는것을 알 수 있습니다.
그래서 오름차순 정렬을 할건데, 품질은 높을수록 좋으므로 -를 붙여서 넣어서 정렬을 한 다음에 -를 붙여서 출력해주면 됩니다.

소스코드

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;


int main(void)
{
    ios_base::sync_with_stdio(false); cin.tie(NULL);
    int N, i, a, b;
    vector <pair <int, int> > first, second;

    cin >> N;
    for (i = 0; i < N; i++)
    {
        cin >> a >> b;
        first.push_back({ -a,b });
        second.push_back({ b,-a });
    }
    sort(first.begin(), first.end());
    sort(second.begin(), second.end());

    cout << -first[0].first << ' ' << first[0].second << ' ' << -first[1].first << ' ' << first[1].second << "\n";
    cout << -second[0].second << ' ' << second[0].first << ' ' << -second[1].second << ' ' << second[1].first << "\n";
}


감사합니다.

0개의 댓글