Search
Duplicate

보물

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

Memo

로직 설명

B에 있는 수를 재배열하면 안 된다고 나와있지만, S를 구하기 위해서 B의 순서는 중요하지 않기 때문에, A는 오름차순 정렬, B는 내림차순 정렬을 하여 S의 최소값을 구해낼 수 있습니다.

Code

제출 날짜

@5/16/2021

메모리

2020 KB

시간

0 ms
#include <iostream> #include <vector> #include <algorithm> int N; std::vector<int> A; std::vector<int> B; void io_faster() { std::ios_base::sync_with_stdio(false); std::cin.tie(0); std::cout.tie(0); } void input() { io_faster(); std::cin >> N; A.resize(N); B.resize(N); for (int i = 0 ; i < N ; i++) std::cin >> A[i]; for (int i = 0 ; i < N ; i++) std::cin >> B[i]; } bool compare(int a, int b) { return (a > b); } void solve() { int ans = 0; std::sort(A.begin(), A.end()); std::sort(B.begin(), B.end(), compare); for (int i = 0 ; i < N ; i++) ans += (A[i] * B[i]); std::cout << ans; } int main() { input(); solve(); return (0); }
C++
복사