题解 | #最大 FST 距离#

最大 FST 距离

http://www.nowcoder.com/questionTerminal/6295f81acd1b4fb59c8beed92577f64b

emm....
将绝对值打开,只有四种情况:
i^{2} - j^{2} + A_{i}^{2} - B_{j}^{2} = (i^{2} + A_{i}^{2}) - (j^{2} + B_{j}^{2})
所以就只需要对排序即可
总代码:
#include<bits/stdc++.h>
using namespace std;

#define endl '\n'
#define int long long
#define IOS ios::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define HelloWorld IOS;


signed main(){
    HelloWorld;
    
    int n; cin >> n;
    vector<int> a(n + 1), b(n + 1);
    for(int i = 1; i <= n; i ++){
        int x; cin >> x;
        a.push_back(i * i + x * x);
        b.push_back(i * i - x * x);
    }
    sort(a.begin(), a.end());
    sort(b.begin(), b.end());
    cout << max(a[n - 1] - a[0], b[n - 1] - b[0]) << endl;
    return 0;
}
全部评论

相关推荐

评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务