Submission #1094340

#TimeUsernameProblemLanguageResultExecution timeMemory
1094340blacktulipArt Exhibition (JOI18_art)C++17
100 / 100
165 ms60052 KiB
#include <bits/stdc++.h> using namespace std; typedef long long lo; #define fi first #define se second #define endl "\n" #define pb push_back #define int long long #define fio() ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL) #define FOR for(int i=1;i<=n;i++) #define mid ((start+end)/2) #define ort ((bas+son)/2) #define _ << " " << const lo inf = 1000000000; const lo li = 500005; const lo mod = 1000000007; int n,m,a[li],k,flag,t,b[li],dp[li][2]; int cev; string s; vector<int> v; pair<int,int> p[li]; inline int f(int i,int al){ int cevap=-1000000000000000000; if(i==n+2){ return 0; } if(i==n+1){ return -1000000000000000000; } if(~dp[i][al])return dp[i][al]; a[i]=p[i].fi; b[i]=p[i].se; cevap=max(cevap,f(i+1,al)); cevap=max(cevap,f(n+2,1)+b[i]-a[i]+(al==0?a[i]:0)); cevap=max(cevap,f(i+1,1)+b[i]+(al==0?a[i]:0)); return dp[i][al]=cevap; } int32_t main(void){ fio(); cin>>n; memset(dp,-1,sizeof(dp)); for(int i=1;i<=n;i++){ cin>>p[i].fi>>p[i].se; } sort(p+1,p+n+1); cout<<f(1,0)<<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...