※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 9910번 문제인 Progress이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/9910
주어지는 수열의 길이
문제의 답이 2 이상임은 자명하다. 아무거나 두 개 고르면 되기 때문이다. 그리고 모든 길이 2 이상의 등차수열에는 처음 두 개의 항이 존재하며, 이 두 개의 항이 정해지면 다음으로 와야 하는 수가 항상 정해져있으므로
아래는 제출한 소스코드이다.
#include <iostream>
using namespace std;
int N, mx = 2;
int A[500];
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> N;
for (int i = 0; i < N; i++) cin >> A[i];
for (int i = 0; i < N; i++) {
for (int j = i + 1; j < N; j++) {
int gap = A[j] - A[i], nxt = A[j] + gap, len = 2;
for (int k = j + 1; k < N; k++) {
if (A[k] == nxt) nxt += gap, len++;
}
mx = max(mx, len);
}
}
cout << mx;
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 11579 // C++] 초차원전쟁 이나 (1) | 2024.11.13 |
---|---|
[BOJ 20161 // C++] 왜 동전은 하나씩만 뒤집는 거야 (1) | 2024.11.12 |
[BOJ 32609 // C++] Beaking Spackwards (3) | 2024.11.08 |
[BOJ 28090 // C++] 특별한 한붓그리기 (3) | 2024.11.07 |
[BOJ 32521 // C++] 팩트는 트리가 건강해지고 있다는 거임 (2) | 2024.11.06 |