Uknow's Lab.
article thumbnail

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

 

11971번: 속도 위반

예를 들어 도로가 3구역 [(40km, 75km/h), (50km, 35km/h), (10km, 45km/h)] 이고. 연정이가 달린 3구역 [(40km, 76km/h), (20km, 30km/h), (40km, 40km/h)] 이라면, 처음 0 ~ 40km 영역에서 1km/h 만큼 위반했으나 60km ~ 90km 사이에

www.acmicpc.net

 

난이도 : 실버 5
태그 : 구현

 

1. 설명

도로의 길이가 100km 밖에 되지 않기 때문에,

1km씩 체크하여, 1~100km 모든 지점에서,

현재 속도를 위반했는지 체크해도 주어진 시간 안에 충분히 통과할 수 있습니다.

 

 

 

2. 소스코드

 

<cpp />
#include <stdio.h> int main() { int n, m; scanf("%d %d", &n, &m); int normalSpeed[100] = {0}; int mySpeed[100] = {0}; int lastIdx = 0; for (int i = 0; i < n; i++) { int length, speed; scanf("%d %d", &length, &speed); for (int j = lastIdx; j < lastIdx + length; j++) { normalSpeed[j] = speed; } lastIdx += length; } lastIdx = 0; for (int i = 0; i < m; i++) { int length, speed; scanf("%d %d", &length, &speed); for (int j = lastIdx; j < lastIdx + length; j++) { mySpeed[j] = speed; } lastIdx += length; } int max = 0; for (int i = 0; i < 100; i++) { int diff = mySpeed[i] - normalSpeed[i]; if (diff > max) { max = diff; } } printf("%d", max); }

normalSpeed는 제한속도를 의미합니다.

normalSpeed[x]은 시작지점에서 x km 떨어진 지점에서의 제한속도를 의미합니다.

mySpeed는 연정이의 속도를 의미합니다.

mySpeed[x]은 시작지점에서 x km 떨어진 지점에서의 연정이의 속도를 의미합니다.

 

1~100까지 반복문을 돌며, 두 속도를 비교하여 가장 큰 값을 출력하면 됩니다.

profile

Uknow's Lab.

@유노 Uknow

인생은 Byte와 Double 사이 Char다. 아무말이나 해봤습니다.