搜狗最远点对加360然后二分

#include <bits/stdc++.h>
using namespace std;

int main() {
    int n;
    cin >> n;
    vector< double > data(n * 2);
    for (int i = 0; i < n; i++) {
        scanf("%lf", &data[i * 2]);
        data[i * 2 + 1] = data[i * 2] + 360;
    }
    sort (data.begin(), data.end());
    double ans = 0;
    for (int i = 0; i < n; i++) {
        auto r = upper_bound(data.begin(), data.end(), (data[i] + 180.0));
        auto l = r - 1;
        ans = max(ans, max (*l - data[i], 360 - *r + data[i]) );
    }
    printf("%.8f", ans);
    return 0;
}


攒攒人品
全部评论
看来没人看了
点赞 回复 分享
发布于 2017-09-08 18:54
很有用!棒!
点赞 回复 分享
发布于 2017-09-08 18:56
好像是一样的,但是只过了70%
点赞 回复 分享
发布于 2017-09-08 19:34

相关推荐

01-17 08:34
门头沟学院 Java
想找对象的单身狗在努力存钱:这工资不低了,再高点人家要招博士硕士的
点赞 评论 收藏
分享
许愿ssp的咸鱼很不想泡池子:import python as pyhton
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务