페이지

13146번: 같은 수로 만들기2

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


$O(n)$

수가 a1, a2, ..., an 주어져 있다고 하자.
sum(ai<ai+1)(ai+1-ai)+max(ai)-an이 답이다.


#include<cstdio>
int n, m, a, t;
long long r;
int main() {
    scanf("%d %d", &n, &t);
    m = t;
    for (int i = 1; i < n; i++) {
        scanf("%d", &a);
        r += (a > t)*(a - t);
        t = a;
        if (t > m) m = t;
    }
    printf("%lld", r + m - t);
    return 0;
}

댓글 없음 :

댓글 쓰기