백준/구현

[백준 14469번 / C++] 소가 길을 건너간 이유 3

배발자 2022. 1. 17.
반응형

 

쉬운 문제이니 그림을 참고해서 한번 생각해보자 

 

위와 같이 예제가 주어졌다고 가정하자. 

2초에 들어와서 1초동안 

8초에 들어와서 3초동안

5초에 들어와서 7초동안 

 

"정렬 시켜준다." 

 

2초에 들어와서 1초동안

5초에 들어와서 7초동안 

8초에 들어와서 3초동안

 

여기서 time이라는 변수를 만들어줘서 

time 은 "시작시간 + 검문시간" 을 저장해주는데 

이때 중요한점은 "시작시간 + 검문시간" 이 다음 소가 들어오는 시간과 겹칠 수 가 있다. 

그렇기 때문에 time이 겹칠 경우 계속해서 누적해주면서 time값을 갱신해준다. 

 

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {	
	int n; cin >> n; 
	vector <pair<int, int>>v; 
	for (int i = 0; i < n; i++) {
		int a, b; cin >> a >> b; 
		v.push_back({ a,b }); 
	}
	sort(v.begin(), v.end()); 
	int time = 0; 
	for (int i = 0; i < n; i++) {
		time = max(v[i].first, time); 
		time += v[i].second; 
	}
	cout << time; 
}

 

 

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

이웃 농장의 소가 길을 마구잡이로 건너는 것에 진절머리가 난 존은 극단의 결정을 내린다. 농장 둘레에 매우 큰 울타리를 짓는 것이다. 이렇게 하면 근처 농장 출신의 소가 들어올 일이 거의 없

www.acmicpc.net

 

반응형

'백준 > 구현' 카테고리의 다른 글

[백준 4375 / C++] 1  (0) 2022.01.19
[백준 9375번 / C++] 패션왕  (0) 2022.01.18
[백준 9935번 / C++] 문자열 폭발  (0) 2022.01.17
[백준 2979번 / C++] 트럭 주차  (0) 2022.01.17
[백준 10808번 / C++] 알파벳 개수  (0) 2022.01.17

댓글