Search
Duplicate
📗

보물

주차
문제번호
1026
언어
C++
티어
실버
유형
수학
그리디
정렬
nj_Blog
nj_상태
이해도
100%
풀이
사람
이해도 2
13 more properties

문제접근

A의 최소와 B의 최대를 곱하면 최소의 결과값을 얻을 수 있음

놓쳤던 부분

코드

2024 KB

0 ms

#include <iostream> #include <vector> #include <algorithm> using namespace std; int main(void) { int N; int answer = 0; vector<int> A; vector<int> B; cin >> N; A.resize(N); B.resize(N); for (int i = 0; i < N; i++) cin >> A[i]; for (int i = 0; i < N; i++) cin >> B[i]; sort(A.begin(), A.end()); sort(B.begin(), B.end(), greater<>()); for (int i = 0; i < N; i++) { answer += A[i] * B[i]; } cout << answer; return (0); }
C++
복사