Advertisement
Guest User

P5

a guest
Feb 28th, 2020
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.85 KB | None | 0 0
  1. //Problema 5
  2. #include <stdio.h>
  3. int v[100];
  4. int find_missing(int v[], int l, int r, int ratio){
  5.  
  6. if(l <= r){
  7. int mid = (l+r)/2;
  8. if(v[mid + 1] - v[mid] != ratio)
  9. return v[mid]+ratio;
  10. if(mid > 0 && v[mid] - v[mid-1] != ratio)
  11. return v[mid-1] + ratio;
  12. if(v[mid] == v[0] + ratio*mid)
  13. return find_missing(v,mid+1,r,ratio);
  14. else
  15. return find_missing(v,l,mid-1,ratio);
  16. }
  17.  
  18. }
  19. int find_ratio(int v[], int n){
  20. int ratio = (v[n-1] - v[0])/n;
  21. return ratio;
  22. }
  23.  
  24. int main(){
  25. int n;
  26. scanf("%d", &n);
  27. for(int i=0; i<n;i++)
  28. scanf("%d",&v[i]);
  29. int ratio = find_ratio(v,n);
  30. printf("%d\n",find_missing(v,0,n-1,ratio));
  31. return 0;
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement