해결방법
STL의 연관 컨테이너의 템플릿 중 하나인 Set을 활용하여 배수들을 Set에 insert를 해준다.
Set의 경우 중복을 허용하지 않기 때문에 자동으로 배수가 중복되더라도 걸러지게 된다.
정답 코드
#include <iostream>
#include <vector>
#include <set>
using namespace std;
int main()
{
int N, M;
cin >> N >> M;
vector<int> num(M);
for (int i = 0; i < M; i++)
{
cin >> num[i];
}
set<int> multiples;
for (int i = 0; i < M; i++)
{
int k = num[i];
for (int j = k; j <= N; j += k)
{
multiples.insert(j);
}
}
int sum = 0;
for (int value : multiples)
{
sum += value;
}
cout << sum << endl;
return 0;
}
'코딩테스트' 카테고리의 다른 글
BOJ - 10570 Favorite Number (0) | 2024.10.16 |
---|---|
BOJ - 11557 Yangjojang of The Year (0) | 2024.10.15 |
BOJ - 1934 최소공배수 (0) | 2024.10.07 |
BOJ - 10812 바구니 순서 바꾸기 (0) | 2024.10.04 |
BOJ - 1996 지뢰 찾기 (0) | 2024.10.01 |