BOJ 문제풀이

백준 1026번 c++ 풀이

koreasunoo 2021. 9. 19. 22:31

안녕하세요 오늘은 수학원리를 이용한 문제를 풀어보겠습니다.

 

전략:

1. 첫번째 배열을 오름차순으로 정렬하고 두 번째 배열을 내림차순으로 정렬한다.

2. 대응하는 원소를 곱하여 result에 더해준다.

 

코드:

#include <bits/stdc++.h>
using namespace std;
int comp(int a, int b){
	return a>b;
}
int main(){
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int N;
	cin>>N;
	vector<int> in_1(N);
	vector<int> in_2(N);
	for(int i = 0; i<N; ++i){
		cin>>in_1[i];
	}
	for(int i = 0; i<N; ++i){
		cin>>in_2[i];
	}
	sort(in_1.begin(), in_1.end());
	sort(in_2.begin(), in_2.end(), comp);
	int result = 0;
	for(int i= 0; i<N; ++i){
		result += in_1[i] * in_2[i];
	}
	cout<<result<<"\n";
}

'BOJ 문제풀이' 카테고리의 다른 글

백준 2436 c++ 풀이  (0) 2021.10.10
백준 10867번 c++ 풀이  (0) 2021.09.19
백준 1182번 c++ 풀이  (0) 2021.09.19
백준 9461 c++ 풀이  (0) 2021.08.31
백준 15649 c++  (0) 2021.08.22