https://www.acmicpc.net/problem/16162
16162번: 가희와 3단 고음
첫째 줄에 참가자들의 음의 개수를 나타내는 정수 N(1 ≤ N ≤ 2 x 104), 고음의 첫 항과 공차를 의미하는 정수 A, D(1 ≤ A, D ≤ 107)가 공백으로 구분되어 주어진다. 둘째 줄에 참가자들의 음을 ��
www.acmicpc.net
그리디를 이용하여 풀었다. 초항을 먼저 찾아 벡터에 넣은 후 공차 만큼 더한 숫자를 차례대로 찾아가서 해당하는 수를 차곡차곡 벡터에 넣어서 길이를 출력하면 된다.
#include <iostream>
#include <vector>
using namespace std;
int main() {
int N, A, D;
int x;
int next;
vector<int> v;
cin >> N >> A >> D;
for(int i = 0; i < N; i++) {
cin >> x;
if(v.size() == 0 && x == A) {
v.push_back(x);
next = A + D;
}
else if(x == next) {
v.push_back(x);
next = next + D;
}
}
cout << v.size();
return 0;
}'백준' 카테고리의 다른 글
| 백준2696 - 중앙값 구하기 (0) | 2020.05.17 |
|---|---|
| 백준11501 - 주식 (0) | 2020.05.16 |
| 백준18353 - 병사 배치하기 (0) | 2020.05.12 |
| 백준1240 - 노드사이의 거리 (0) | 2020.05.11 |
| 백준11607 - Grid (0) | 2020.05.01 |