//只过了80% #include <iostream> #include <vector> using namespace std; int main(){ int n; double tmp; while(cin>>n){ vector<double> vec; for(int i=0;i<n;i++){ cin>>tmp; vec.push_back(tmp); } double max=0,temp; int flag=0; for(int i=0;i<n;i++){ int begin=i,end=n-1,mid; if(vec[end]-vec[begin]<=180.0){ temp=vec[end]-vec[begin]; break; } else{ while(begin+1<end){ mid=(begin+end+1)/2; temp=vec[mid]-vec[i]; if(temp==180){ flag=1; } else if(temp<180.0){ begin=mid; } else{ end=mid; temp=360.0-temp; } if(max<temp) max=temp; if(flag) break; } if(flag) break; } } if(max<temp) max=temp; printf("%.8lf\n",max); } }
点赞 评论

相关推荐

求offer的大角牛:不吃香菜
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务