https://www.acmicpc.net/problem/2455
4개의 역이 있고 이때 1번역은 내린사람이 당연히 0 이고, 마지막 4번째 역은 종착역으로 당연히 타는사람이 없다고 가정한다.
일단 4개의 기차역 배열을 만든다. 배열안에는 사람들이 타고 내린후 에 최종적으로 남은 사람들의 수가 저장될것이다.
타는 사람과 내리는 사람의 변수를 만들고 합산하는 변수또한 생성한다. (a, b, tot 라고 정의하였음)
기차역이 4개이므로 반복문으로 내린사람과 타는사람을 입력받는다.
그후 전체에서 내린사람은 빼주고 타는사람은 더해주는 식으로 값을 구해주면된다.
이때 문제인 기차안에 사람이 가장많을 때는 STL의 sort 함수를 사용하면 된다.
아래는 내림차순으로 하였는데, 오름차순으로 할경우 arr[4] 를 출력하면 된다.
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <algorithm>
#include <functional>
#include <vector>
#include <stack>
#include <queue>
using namespace std;
int arr[4];
int main(void)
{
int a, b;
int tot=0;
for(int i=0; i<4; ++i) {
cin >> a >> b;
tot = tot + b -a;
arr[i] = tot;
}
sort(arr, arr+ 4, greater<int>());
cout << arr[0];
return 0;
}
'알고리즘 > 백준알고리즘' 카테고리의 다른 글
백준 3184번 - 양 c++ (0) | 2019.08.23 |
---|---|
백준 2667번 - 단지번호붙이기 c++ (0) | 2019.08.08 |
백준 1260번 - DFS 와 BFS C++ (0) | 2019.08.04 |
백준 15953번 - 상금 헌터 C++ (0) | 2019.08.02 |
댓글