본문 바로가기

백준

5612)터널의 입구와 출구

https://www.acmicpc.net/problem/5612


문제를 잘 읽어야 쉽다.


데이터가 입력 되는 모양새를 추상화해보면 아래 그림과 같다.

t = 0인 시점에 터널에 차 2대가 있었고 1분 간 차가 2대 들어오고 3대가 나갔다.


차가 정확이 언제 들어가고 언제 나갔는지 알 수 없어서 t = 1/2일 때 터널에 몇 대의 차가 있는지 알 수 없다.


1분 후인 t = 1일 때 몇 대의 차가 있는 지 정확히 알 수 있다.


문제는 친절하게 t = 0,1,2,...,n인 시점에 터널에 차가 몇 대 있는가를 묻고 있다.


그 중에서 차의 수가 최대가 되는 때를 찾아서 출력하면 된다.



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
#include<stdio.h>
#define TRUE 1
#define FALSE 0
#define MAX(A,B) (A>B)?A:B
 
int main() {
    int n, m;
    int S;
    int sMax = 0;
    int isPossible = TRUE;
    int in, out;
 
    scanf("%d %d",&n,&S);
 
    sMax = S;
    for (int i = 0; i < n; i++) {
        scanf("%d %d",&in,&out);
        S += in - out;
        if (S < 0) isPossible = FALSE;
        sMax = MAX(S, sMax);
    }
 
    if(isPossible) printf("%d\n",sMax);
    else printf("0\n");
 
    return 0;
}
cs


'백준' 카테고리의 다른 글

5212)지구 온난화  (0) 2019.02.07
2810)컵홀더  (0) 2019.02.06
3054)피터팬 프레임  (0) 2019.02.06
11047)동전 0  (0) 2019.02.04
1003)피보나치 함수  (0) 2019.02.04