Advertisement
kornelhowil

zadanie10

Dec 12th, 2020
777
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.52 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int minprzek(int A[], int B[], int n)
  4. {
  5.     int l = 0;
  6.     int p = n-1;
  7.  
  8.     while (l < p) {
  9.         int s = (l + p) / 2;
  10.         if (A[s]*A[s] + B[s]*B[s] > A[s+1]*A[s+1] + B[s+1]*B[s+1])
  11.             l = s + 1;
  12.         else
  13.             p = s;
  14.     }
  15.     return l;
  16. }
  17.  
  18. int main(void)
  19. {
  20.     int n;
  21.     scanf("%d", &n);
  22.     int A[n];
  23.     int B[n];
  24.     for (int i = 0; i < n; i++)
  25.         scanf("%d", &A[i]);
  26.  
  27.     for (int i = 0; i < n; i++)
  28.         scanf("%d", &B[i]);
  29.  
  30.     printf("%d\n", minprzek(A, B, n));
  31.  
  32.     return 0;
  33. }
  34.  
  35. // czasowa - O(logn)
  36. // pamieciowa - O(1)
  37.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement