본문 바로가기

백준

2455 지능형 기차

알고리즘을 이렇게 생각해서

 

#include <iostream>
#include <algorithm>
using namespace std;
using i64 = long long;

int a[1000000];

int main() {
    int a1, a2, a3, a4; //내린 사람
    int b1, b2, b3, b4; //탄 사람
    scanf("%d %d %d %d %d %d %d %d", &a1, &b1, &a2, &b2, &a3, &b3, &a4, &b4);
    
    int max = b1;
    int sum = b1;
    sum += b2 - a2;
    if(sum > max)
        max = sum;
    sum += b3 - a3;
    if(sum > max)
        max = sum;   
    printf("%d", max);
}

 

이렇게 코딩했다.

 

지금 든 생각인데 그냥 배열 만들어서 반복문 돌리는게 더 나았을 것 같다. 

그리고 a1이랑 b4는 어차피 계산 안 하니깐 그냥 버려버리고


#include <iostream>
#include <algorithm>
using namespace std;

int main() {
    int a1, a2, a3, a4; //내린 사람
    int b1, b2, b3, b4; //탄 사람
    scanf("%d %d %d %d %d %d %d %d", &a1, &b1, &a2, &b2, &a3, &b3, &a4, &b4);
    
    int max_num = b1;
    int sum = b1;
    sum += b2 - a2;
    max_num = max(max_num, sum);
    sum += b3 - a3;
    max_num = max(max_num, sum); 
    printf("%d", max_num);
}

    if(sum > max)
        max = sum;

 

큰 건 아니지만 이렇게 비교해서 넣는 걸 max를 쓰면 더 깔끌하게 짤 수 있다. 게다가 몰랐는데 전에 쓴 코드를 수정 안 해서 long long과 a[1000000]이 남아있었다. ㅋㅋㅋ 어쩐지 메모리를 많이 잡아먹더라

 

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

10824 네 수  (0) 2019.10.04
10250 ACM 호텔  (0) 2019.10.04
13458 시험 감독  (0) 2019.10.03
2869 달팽이는 올라가고 싶다  (0) 2019.10.03
2443 별 찍기 - 6  (0) 2019.10.03