ALGORITHM/SWEXPERT|SOFTEER

[Softeer] GBC (lv.2)

0298 2021. 11. 2. 22:44

https://softeer.ai/practice/info.do?eventIdx=1&psProblemId=584

 

Softeer

제한시간 : C/C++/Java/Python/JS(1초) | 메모리 제한 : 256MB 글로벌 비즈니스 센터(GBC, Global Business Center)는 현대자동차그룹 통합 사옥이다. 지하 7층, 지상 105층, 높이 약 570m의 규모로 2026년 하반기에 완

softeer.ai

2021


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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import java.util.*;
import java.io.*;
 
 
public class Main
{
    public static int N, M;
    public static void main(String[] args) throws IOException {
       BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(bf.readLine());
        N = Integer.parseInt(st.nextToken());
        M = Integer.parseInt(st.nextToken());
        int[][] arr = new int[N][2];
        int answer = 0;
 
        for(int i = 0; i < N; i++) {
            st = new StringTokenizer(bf.readLine());
            arr[i][0= Integer.parseInt(st.nextToken());
            arr[i][1= Integer.parseInt(st.nextToken());
        }
 
        int[][] speed = new int[M][2];
        for(int i = 0; i < M; i++) {
            st = new StringTokenizer(bf.readLine());
            speed[i][0= Integer.parseInt(st.nextToken());
            speed[i][1= Integer.parseInt(st.nextToken());
        }
 
        int idx = 0;
       for(int i = 0; i < N; i++) {
            for(int j = idx; j < M; j++) {
                if(arr[i][0< speed[j][0]) {
                    speed[j][0-= arr[i][0];
                    if(speed[j][1- arr[i][1> 0) answer = Math.max(answer, speed[j][1- arr[i][1]);
                    break;
                } else if(arr[i][0> speed[j][0]) {
                    arr[i][0-= speed[j][0];
                    if(speed[j][1- arr[i][1> 0) answer = Math.max(answer, speed[j][1- arr[i][1]);
                    idx++;
                } else {
                    if(speed[j][1- arr[i][1> 0) answer = Math.max(answer, speed[j][1- arr[i][1]);
                    idx++;
                    break;
                }
            }
        }
 
        System.out.println(answer);
    }
}
cs