[일반] 시간초과 어캐 고쳐야 할까...
코로나(lchbest10)
2019-12-25 03:07
추천 0
댓글 7
다른 게시글
-
오늘 div2 너무 꿀잼 [9][일기] 익명(183.104) | 19.12.25추천 0
-
자바에서 c++로 변경하려는데 책이나 강의 추천좀 [8][일반] 익명(175.223) | 19.12.24추천 0
-
형림들은 이 문제 풀 때 어떤식으로 접근하시나용? [13][일반] 익명(110.70) | 19.12.24추천 0
-
취직하고 ps푸는거 의미없으려나 [6][일반] 543543(adohh) | 19.12.24추천 0
-
종만북사서 알고리즘 공부 VS 다른언어 배우기 [12][일반] 익명(39.7) | 19.12.24추천 0
-
dp문제 어떻게 잘푸나요? [7][질문] 익명(183.109) | 19.12.23추천 0
-
코포 라운드 거르는 꿀팁 [6][일반] 전역(39.7) | 19.12.23추천 0
-
백준 submit API 제공 하나요? [3][일반] ff(211.170) | 19.12.23추천 0
-
140문제 풀었는데 골드5 ㅋㅋㅋㅋ [8][일반] 543543(adohh) | 19.12.23추천 0
-
왜 이 재밌는걸 4학년때 알았지? [17][일기] 익명(175.119) | 19.12.22추천 2
100000*100000=시간초과
ㅇㅇ 뜯어고쳐야지. n 이 최대 10^5이니 이중포문이면 10^10까지 갈 수 있으니까... 이건 당연 시간초과. 대충 10^8 안에 들게 만들어야한다고 보면댐
잘 생각해 보면 nlogn에 끝난다. 정렬 제외하면 O(n)에 마무리. 이미 정렬을 했는데 최소값을 찾아다닐 필요가 있을까?
findMin이 pick개 만큼 줄을 선택해서 최솟값 구하는건데 그 과정 필요 없다는거임?
다시 보니 로직부터 잘못 됐네... 반례부터 찾아보자. 0~pick 중 최소값에(물론 정렬했으니 0이겠지만) pick+1개를 곱하면 그게 꼭 로프가 버틸 수 있는 최대 중량일까?
병목이 어디서 일어나나 생각 해보셈
로직 이상타라는 님들 말 다시함 세겨보면 10 20 30 로프 세개로는 30 아님? 최소값x로프개수 아님? 정렬도 필요하지 않아 보임