Submission #1330706

#TimeUsernameProblemLanguageResultExecution timeMemory
1330706sim_pleArt Exhibition (JOI18_art)C++20
0 / 100
3 ms344 KiB
/*
    written by sim_ple
*/
#include <bits/stdc++.h>
using namespace std;

#define int long long
#define N 500005
#define itn int
#define all(x) x.begin() , x.end()
int sz[N] , vl[N];
int b[N];
int n , ans = 0;

void f(int idx){ 
    if(idx == n + 1){
        int sum = 0 , mn = INT_MAX , mx = 0;
        for(int i = 1; i <= n; i++){
            if(b[i]){
                sum += vl[i];
                mx = max(mx , sz[i]);
                mn = min(mn ,sz[i]);
            }
        }
        if(mn == INT_MAX){
            return;
        }
        ans = max(ans , sum + mn - mx);
        return;
    }
    b[idx] = 0;
    f(idx + 1);
    b[idx] = 1;
    f(idx + 1);
}

void solve(){
    cin >> n;
    for(int i = 1; i <= n; i++){
        cin >> sz[i] >> vl[i];
    }
    f(1);
    cout << ans << endl;
}

int32_t main() {
    ios::sync_with_stdio(false);cin.tie(nullptr);
    int t = 1;
    //cin >> t;
    while(t--) solve();
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...