Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- double func(double x){
- return -1*1*x*x + 2*x +3;
- }
- double ts(double start, double end){
- double l = start, r = end;
- for(int i=0; i<200; i++) {
- double l1 = (l*2+r)/3;
- double l2 = (l+2*r)/3;
- //cout<<l1<<" "<<l2<<endl;
- if(func(l1) > func(l2)) r = l2; else l = l1;
- }
- double x = l;
- return func(x);
- }
- int tsi(){
- int lo = -1, hi = n;
- while (hi - lo > 1){
- int mid = (hi + lo)>>1;
- if (f(mid) > f(mid + 1))
- hi = mid;
- else
- lo = mid;
- }
- return lo + 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement