※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 15487번 문제인 A[j]-A[i]+A[l]-A[k]이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/15487
주어진 수식은 인덱스 순서에 맞게 -A[i]+A[j]-A[k]+A[l]로 다시 작성할 수 있다. 이 때, 앞의 1개, 2개, 3개, 4개의 값까지 계산한 값을 저장하는 네 개의 변수
문제의 답이 음수가 될 수 있으므로 각 변수의 초기값 설정에 유의하자.
아래는 제출한 소스코드이다.
#include <iostream>
using namespace std;
int N;
int A = -1000000007, B = -1000000007, C = -1000000007, D = -1000000007;
int x;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> N;
cin >> x;
A = -x;
cin >> x;
B = A + x;
A = max(A, -x);
cin >> x;
C = B - x;
B = max(B, A + x);
A = max(A, -x);
for (int i = 3; i < N; i++) {
cin >> x;
D = max(D, C + x);
C = max(C, B - x);
B = max(B, A + x);
A = max(A, -x);
}
cout << D;
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 16581 // C++] Lie Detector (2) | 2024.09.11 |
---|---|
[BOJ 24145 // C++] 折り紙 (Origami) (2) | 2024.09.10 |
[BOJ 19686 // C++] Lost Array (0) | 2024.09.08 |
[BOJ 14488 // C++] 준오는 급식충이야!! (1) | 2024.09.07 |
[BOJ 6199 // C++] Big Square (2) | 2024.09.06 |