题解:P11213 【MX-J8-T1】竹竿

· · 题解

solution

我们可以根据标记处将木条截成两条,再将所有木条排序,最终答案就是最长木条与次长木条的和。

code

#include<bits/stdc++.h>
using namespace std;
int n,a[200005],l,b;
long long ans;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>l>>b;
        a[2*i]=b;
        a[2*i-1]=l-b;
    }
    sort(a+1,a+1+2*n);
    ans=a[2*n]+a[2*n-1];
    cout<<ans;
    return 0;
}