제출 #1290561

#제출 시각아이디문제언어결과실행 시간메모리
1290561dodopasaArt Exhibition (JOI18_art)C++20
0 / 100
1 ms572 KiB
#include <bits/stdc++.h>
#define int long long
//#define cout cout << "Test: "
int sum=0;
#define pb push_back
using namespace std;
void solve(){
    int n;cin>>n;
    vector<pair<int,int>> v(n);
    vector<int> ans(n);
    for(int i=0;i<n;i++){
        int a,b;cin>>a>>b;
        v[i]=make_pair(a,b);
    }
    int maxi=-1;
    for(int i=0;i<n;i++){
        maxi=max(maxi,v[i].second);
    }
    int max2=-1;
    int ind1,ind2;
    for(int i=0;i<n;i++){
        for(int j=i+1;j<n;j++){
            if(v[i].second+v[j].second-(max(v[i].first,v[j].first)-min(v[i].first,v[j].first))>max2){
                max2=v[i].second+v[j].second-(max(v[i].first,v[j].first)-min(v[i].first,v[j].first));
                ind1=v[i].first,ind2=v[j].first;
            }
            //cout<<maxi<<' '<<j<<' '<<i<<endl;
        }
    }
    sum=max2;
    for(int i=0;i<n;i++){
        if(v[i].first>min(ind1,ind2)&&v[i].first<max(ind1,ind2)){
            sum+=v[i].second;
        }
    }
    //cout<<maxi<<' '<<sum<<' '<<max2<<endl;
    cout<<max(maxi,max(max2,sum));
}

signed main(){
    ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
    
    int t=1;
    //cin>>t;
    while(t--){
        solve();
        //cout<<endl;
    }
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...