https://www.acmicpc.net/problem/1037
1037번: 약수
첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되
www.acmicpc.net
입력값으로 1과 자기 자신을 받지 않기 때문에
약수에서 최솟값과 최댓값을 곱해주면 된다.
입력받은 약수를 벡터에 집어넣고 정렬한 후
벡터의 맨 앞 값과 맨 마지막 값을 곱해주었다.
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
int n, num;
int answer = 1;
vector<int> v;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> num;
v.push_back(num);
}
sort(v.begin(), v.end());
answer = v[0] * v[n - 1];
cout << answer;
return 0;
}
'코딩테스트 > Baekjoon' 카테고리의 다른 글
[백준 #2193] 이친수 (C++) (0) | 2021.08.28 |
---|---|
[백준 #2217] 로프 (C++) (0) | 2021.08.27 |
[백준 #7662] 이중 우선순위 큐 (C++) (0) | 2021.08.25 |
[백준 #7568] 덩치 (C++) (0) | 2021.08.24 |
[백준 #1920] 수 찾기 (C++) (0) | 2021.08.24 |