끄적끄적 코딩
article thumbnail

간단한 구현 문제입니다.

터널에 가장 차들이 많았을 때 수를 출력해야합니다.
차가 -1 이하로 있으면 0을 출력합니다.

N의 시간이 주어지고
M의 초기 터널안의 차의 수가 주어집니다.
다음 줄부터 x개의 차가 들어오고
                y개의 차가 나갑니다.

x-y의 값을 현재 터널안에 있는 차의 수에 더해주어서
가장 클 때를 출력하면 됩니다.

 

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

int main(int argc, char *argv[])
{
	int n, m;
	int x, y, z;
	int result = 0;
	int arr[10010];
	
	memset(arr, 0, sizeof(arr));

	cin >> n >> m;

	z = m;

	for(int i = 1; i <= n; ++i){
		cin >> x;
		cin >> y;

		z += x - y;

		if(z < 0){
			cout << 0 << endl;
			return 0;
		}
		result = max(result, z);
	}

	cout << result << endl;

	return 0;
}

검색 태그