N,M이 최대 100이므로, 구간을 인덱스로 속도 제한을 값으로 넣는 배열을 만든다.
1~100이므로 0은 사용하지 않도록 크기가 101인 배열을 만들었다.
이후 테스트하는 정보를 입력으로 받으면, 테스트하는 속도가 각 구간에서 제한 속도를 넘으면 기존 result 값과 현재 넘는 값을 비교하여 가장 큰 max 값을 저장한다.
처음에는 모든 제한 속도를 넘는 값을 vector에 저장하고, 그 중에서 max_element를 마지막에 구해서 출력하도록 했는데, 2개의 테스트케이스에서 런타임 에러가 발생해서 앞선 방식으로 결과를 구했다.
#include <iostream>
#include <vector>
#include<algorithm>
using namespace std;
int main(int argc, char** argv)
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int N,M;
vector<pair<int, int>> input;
int test[101]={0,};
vector<int> result;
int re=0;
cin >> N >> M;
int now=1;
for(int i=0; i<N; i++){
int in_length, in_speed;
cin >> in_length >> in_speed;
for(int j=now; j < now+in_length; j++){
test[j] = in_speed;
}
now += in_length;
}
//for(int i=1; i<101; i++) cout << test[i] << " ";
now=1;
for(int i=0; i<M; i++){
int test_length, test_speed;
cin >> test_length >> test_speed;
for(int j=now; j<now+test_length; j++){
if(test_speed > test[j]){
re=max(re, test_speed-test[j]);
}
}
now += test_length;
}
//for(int num : result) cout << num << endl;
//cout << *max_element(result.begin(), result.end());
cout << re << endl;
return 0;
}
[Softeer] 성적 평가 (C++) (0) | 2023.09.05 |
---|---|
[Softeer] 장애물 인식 프로그램 (C++) (0) | 2023.08.12 |
[BOJ] 1389: 케빈 베이컨의 6단계 법칙 (C++) (0) | 2023.07.29 |
[백준(BOJ)] 9465번: 스티커 (C++) (1) | 2023.07.17 |
[백준(BOJ)] 1535번: 안녕 (C++) (0) | 2023.07.16 |