제출 #945547

#제출 시각아이디문제언어결과실행 시간메모리
945547vjudge1Art Exhibition (JOI18_art)C++17
10 / 100
5 ms600 KiB
//#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native") //#pragma GCC optimize("Ofast,unroll-loops,fast-math,O3") #include <map> #include <set> #include <list> #include <cmath> #include <ctime> #include <deque> #include <queue> #include <stack> #include <string> #include <bitset> #include <cstdio> #include <limits> #include <vector> #include <climits> #include <cstring> #include <cstdlib> #include <fstream> #include <numeric> #include <sstream> #include <cassert> #include <iomanip> #include <iostream> #include <algorithm> #include <stdio.h> #include <fstream> #include <unordered_map> #define ll long long #define int long long #define all(v) v.begin(), v.end() #define nl '\n' #define pb push_back #define sz(s) (int)(s).size() #define f first #define s second using namespace std; const ll N = 1e6 + 50, MX = 1e18; void solve(){ ll n; cin >> n; ll a[n + 1], b[n + 1]; for(int i = 1; i <= n; i++){ cin >> a[i] >> b[i]; } ll ans = 0; for(ll mask = 0; mask < (1 << n); mask++){ ll mx=0, mn=MX; ll sum = 0; for(int i = 0; i < n; i++){ if((mask >> i)&1){ mx = max(mx, a[i+1]); mn = min(mn, a[i+1]); sum += b[i+1]; } } if(mn == MX){ continue; } ans = max(sum - (mx - mn), ans); } cout << ans << nl; } signed main(){ //freopen("lca.in", "r", stdin); //freopen("lca.out", "w", stdout); ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); ll ql=1; //cin >> ql; //tst++; while(ql--){ 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...