문제
https://www.acmicpc.net/problem/1026
소스코드
#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
int main(void) {
//input
int n;
cin >> n;
vector<int> A;
vector<int> B;
for (int i = 0; i < n; i++) {
int a;
cin >> a;
A.push_back(a);
}
for (int i = 0; i < n; i++) {
int b;
cin >> b;
B.push_back(b);
}
//peform
sort(A.begin(), A.end());
sort(B.begin(), B.end());
int answer = 0;
for (int i = 0; i < n; i++) {
answer += A[i] * B[n -1 - i];
}
//output
cout << answer;
}
A 배열과 B 배열을 정렬 한 후, A 배열의 작은 것과 B 배열의 큰 것을 순서대로 곱한 것을 모두 더한다.
'개인 공부 > 코딩테스트' 카테고리의 다른 글
[C++][백준 1697][BFS DFS] 숨바꼭질 :: seoftware (0) | 2020.02.29 |
---|---|
[C++][백준 7576][BFS / DFS] 토마토 :: seoftware (0) | 2020.02.29 |
[C++][백준 1427][정렬] 소트인사이드 :: seoftware (0) | 2020.02.29 |
[미해결][Kick Start] Practice Round 2019 Kickstart Alarm :: seoftware (0) | 2020.02.29 |
[Kick Start][Practice Round 2019] Mural :: seoftware (0) | 2020.02.28 |
댓글