https://www.acmicpc.net/problem/1026
오늘 좀 쉽게 가고 싶어서 정답률 높은 걸로 골랐는데............ 풀지못함...
N을 최대 50까지 받을 수 있기 때문에 next_permutation으로 하면 당연히 시간 초과가 날 것을 알았지만 방법이 생각이 안나서 한번 해 보았당
그러나 But!!!!!!!!!!!!!!!!
역시나 시간 초과.
아무리 생각해도 방법을 잘 모르겠어서 최소값 구하는 공식을 검색을 해 보앗다 ㅎ..ㅠㅠ
그런데 너무 간단하게도 배열의 최소값 * 최대값을 더해나가면 된다닛..!!? 왜 나혼자서는 이렇게 해야한다는 것을 생각해내지 못하는 걸까..?
ㅠ 돌머리야 정신차리자... 힌트를 얻어 구현한 나의 코드는!?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<vector> #include<algorithm> #include<functional> #include<iostream> using namespace std; vector<int> v1; vector<int> v2; int main() { int N; int num; int msum = 0; scanf("%d", &N); for (int i = 0; i < N; i++) { scanf("%d", &num); v1.push_back(num); } for (int i = 0; i < N; i++) { scanf("%d",&num); v2.push_back(num); } sort(v1.begin(), v1.end()); sort(v2.begin(), v2.end(), greater<int>()); for (int i = 0; i < N; i++) { msum += v1[i] * v2[i]; } printf("%d\n",msum); return 0; } | cs |
'Problem > ETC' 카테고리의 다른 글
[백준알고리즘] 8741번 이진수 합 (0) | 2018.11.18 |
---|---|
[백준알고리즘] 11501번 주식 (0) | 2018.11.18 |
[백준알고리즘] 2490번 윷놀이 (0) | 2018.11.15 |
[백준알고리즘] 10799번 쇠막대기 (0) | 2018.11.09 |
[백준알고리즘] 13458번 시험 감독 (0) | 2018.11.03 |