728x90
반응형

이분탐색 5

[백준/이진탐색/C++] 2512번 예산

문제는 여기! 문제풀이 방법 - 변수들은 long long int 사용 - start는 budget[0] 이 아닌 0으로 초기화하기! 전체 코드 #include using namespace std; int N, M; vector budget; long long int answer=0; void solve(){ long long int start = 0, end = budget[N-1]; long long int mid, sum = 0; while(start N; for(int i=0; i> x; budget.push_back(x); } sort(budget.begin(), budget.end()); cin >> M; } int main() { ios::sync_with_stdio(0); cin.tie(0..

[백준/이분탐색/C++] 10816번 숫자 카드 2 (upper_bound, lower_bound 사용)

https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net upper_bound(), lower_bound() [C++] lower_bound, upper_bound (이진탐색)/ 예제 헤더파일 #include lower_bound 찾으려는 value 값보다 같거나 큰 숫자가 배열에서 처음 등장하는 위치 리턴 사용 조건 : 탐색을 진행할 배열 또는 벡터가 오름차순 정렬되어 있어야 함 사용법 lower_bound( deve..

알고리즘 2023.01.03

[백준/이분탐색/C++] 10815번 숫자 카드

https://www.acmicpc.net/problem/10815 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 문제 해결 방법 상근이가 가지고 있는 카드를 정렬해준다 이분탐색을 사용한다 #include using namespace std; int n, m; vector a, b; int main(void) { ios::sync_with_stdio(0); cin.tie(0); cin >> n; for(int i=0; i> x; a.push_back(x); } sort(a.beg..

알고리즘 2023.01.03

[백준/이분탐색/C++] 2805번 나무 자르기

https://www.acmicpc.net/problem/2805 2805번: 나무 자르기 첫째 줄에 나무의 수 N과 상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어진다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 둘째 줄에는 나무의 높이가 주어진다. 나무의 높이의 합은 항상 M보 www.acmicpc.net 유의사항 자른 길이의 합을 구할때 나무가 자르는 길이보다 큰 경우에만 수행이 되도록 조건을 넣어주어야 한다 자른 길이와 길이의 합은 long long int 형으로 선언해주어야 한다 #include using namespace std; int n, m; vector v; int main(void) { ios::sync_with_stdio(0); cin.tie..

알고리즘 2023.01.02

[백준/이분탐색/C++] 1654번 랜선 자르기

https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net 문제풀이 방법 길이는 int 형의 범위를 넘어가기 때문에 long long int 형으로 선언해준다 (개수는 상관없음) 문제에서 예를 들어 300cm 짜리 랜선에서 140cm 짜리 랜선을 두 개 잘라내면 20cm는 버려야 한다. (이미 자른 랜선은 붙일 수 없다.) 의 예시를 보면, 만들어지는 랜선의 개수를 셀 때 랜선의 길이를 빼는것이 아니라 나눈 몫을 더해주어야 한..

알고리즘 2023.01.01
728x90
반응형