Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // 랜선 자르기
- #include <stdio.h>
- #include <stdlib.h>
- #include <limits.h>
- int BSearch(int* ar, int f, int r, int target, int N)
- {
- long long mid;
- long long front = f;
- long long rear = r;
- int i;
- int temp = 0;
- int ans = 0;
- while(front<=rear)
- {
- mid = (front+rear)/2;
- temp = 0;
- for(i=0;i<N;i++)
- {
- temp += ar[i]/mid;
- }
- if(temp>=target)
- {
- front = mid+1;
- ans = ans>mid?ans:mid;
- }
- else if(temp>target)
- {
- front = mid+1;
- }
- else
- {
- rear = mid-1;
- }
- }
- return ans;
- }
- int main()
- {
- int N, A;
- int i;
- int tmp = 0;
- int arr[10000] = {0,};
- scanf("%d %d", &N, &A);
- for(i=0;i<N;i++)
- {
- scanf("%d", &arr[i]);
- }
- tmp = BSearch(arr, 1, INT_MAX, A, N);
- printf("%d", tmp);
- return 0;
- }
Add Comment
Please, Sign In to add comment