搜狗最远点对加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

相关推荐

远山月晟:大佬太强了啊,这履历不随便面
投递中科院自动化所等公司10个岗位 > 听劝,这个简历怎么改
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务