BOJ 14469 : 소가 길을 건너간 이유 3

·2023년 4월 28일
0

알고리즘 문제 풀이

목록 보기
121/165
post-thumbnail

풀이 요약

정렬

풀이 상세

  1. 도착한 모든 소는 이전 소의 딜레이까지 대기하였다가 검문을 거치게 된다.

  2. 즉, 이전 소의 도착 시간+딜레이 시간 과 현재 소의 도착 시간을 비교하여 더 큰 값을 현재 시간으로 반환한다.

배운점

  • 백터를 미리 초기화하면, cin 을 통해 first, second 에 직접적으로 입력값을 집어넣는 것이 가능하다.
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int N;
int main() {
    cin >> N;
    vector<pair<int,int>> v(N);
    for (int i = 0; i < N; i++) {
        cin >> v[i].first >> v[i].second;
    }
    sort(v.begin(), v.end());
    int curr = v[0].first + v[0].second;
    for(int i=1; i<v.size(); i++) {
        curr = max(curr, v[i].first)+v[i].second;
    }
    cout << curr;
}
profile
새로운 것에 관심이 많고, 프로젝트 설계 및 최적화를 좋아합니다.

0개의 댓글