개발자 톡

연습문제 톡 GBC

C 코드 입니다!

등록일
2025-02-06 23:36:20
조회수
28
작성자
bumi95
#include <stdio.h>
#include <stdlib.h>

struct test {
    int len;
    int speed;
};

int main(void)
{
    int N, M, j = 0;
    struct test *limit, *real;
    int max = 0;

    scanf("%d %d", &N, &M);
    limit = (struct test *)malloc(sizeof(struct test) * N);
    real = (struct test *)malloc(sizeof(struct test) * M);
    
    for (int i=0; i<N; i++) {
        scanf("%d %d", &limit[i].len, &limit[i].speed);
    }
    for (int i=0; i<M; i++) {
        scanf("%d %d", &real[i].len, &real[i].speed);
    }

    for (int i=0; i<N; i++) {
        int tmp = limit[i].len;
        while(tmp > 0) {
            if (tmp >= real[j].len) {
                tmp -= real[j].len;
                max = (max > (real[j].speed - limit[i].speed) ? max : (real[j].speed - limit[i].speed));
                j++;
            } else {
                real[j].len = real[j].len - tmp;
                tmp = 0;
                max = (max > (real[j].speed - limit[i].speed) ? max : (real[j].speed - limit[i].speed)); 
            }
        }
    }

    printf("%d", max);
    return 0;
}


#GBC

이 카테고리의 톡 더보기