Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Problema 5
- #include <stdio.h>
- int v[100];
- int find_missing(int v[], int l, int r, int ratio){
- if(l <= r){
- int mid = (l+r)/2;
- if(v[mid + 1] - v[mid] != ratio)
- return v[mid]+ratio;
- if(mid > 0 && v[mid] - v[mid-1] != ratio)
- return v[mid-1] + ratio;
- if(v[mid] == v[0] + ratio*mid)
- return find_missing(v,mid+1,r,ratio);
- else
- return find_missing(v,l,mid-1,ratio);
- }
- }
- int find_ratio(int v[], int n){
- int ratio = (v[n-1] - v[0])/n;
- return ratio;
- }
- int main(){
- int n;
- scanf("%d", &n);
- for(int i=0; i<n;i++)
- scanf("%d",&v[i]);
- int ratio = find_ratio(v,n);
- printf("%d\n",find_missing(v,0,n-1,ratio));
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement