본문 바로가기

USACO/Bronze

백준 14469 소가 길을 건너간 이유 3 (USACO February 2017 Bronze 3번)

문제 링크: https://www.acmicpc.net/problem/14469

 

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

문제 이웃 농장의 소가 길을 마구잡이로 건너는 것에 진절머리가 난 존은 극단의 결정을 내린다. 농장 둘레에 매우 큰 울타리를 짓는 것이다. 이렇게 하면 근처 농장 출신의 소가 들어올 일이 거의 없다. 이 일로 주변 소들이 분개하였다. 친구네 집에 놀러 갈 수 없을 뿐만 아니라, 매년 참가하던 국제 젖 짜기 올림피아드에도 올해는 참가할 수 없게 되었기 때문이다. 이웃 농장의 소 중 존의 농장에 방문할 수 있는 소가 조금 있긴 하지만, 그들도 안심할 수 있는

www.acmicpc.net

도착시간순으로 sort한다음, 도착했을때 기다릴 필요가 없으면 ans = 도착시간 + 기다리는 시간이고, 도착했을때 기다려야 한다면 ans += 기다리는 시간으로 ans를 구하면 됨.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <bits/stdc++.h>
using namespace std;
 
int N;
vector<pair<intint>> t;
 
int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
 
    cin >> N;
    for(int i = 0; i < N; i++) {
        int a, b;
        cin >> a >> b;
        t.push_back({a, b});
    }
    sort(t.begin(), t.end());
 
    int ans = 0;
    for(int i = 0; i < N; i++) {
        int arrival = t[i].first, wait = t[i].second;
        if(arrival >= ans)
            ans = arrival + wait;
        else
            ans += wait;
    }
 
    cout << ans << '\n';
    return 0;
}
 
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter