본문 바로가기

백준

백준16162 - 가희와 3단 고음

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