Submission #1274132

#TimeUsernameProblemLanguageResultExecution timeMemory
1274132almazArt Exhibition (JOI18_art)C++20
100 / 100
132 ms16024 KiB
#include <bits/stdc++.h> using namespace std; #define int long long // #define endl '\n' #define ff first #define ss second #define pb push_back #define all(a) a.begin(), a.end() #define rall(a) a.rbegin(), a.rend() #define ar array const int MOD = 1e9 + 7,INF = 1e18, N = 2e5 + 5; /* */ int ans = 0; void solve(){ int n; cin >> n; vector <pair<int,int>> a(n); vector <int> sum(n); for(int i = 0;i < n;i++){ cin >> a[i].ff >> a[i].ss; } sort(all(a)); sum[0] = a[0].ss; for(int i = 1;i < n;i++){ sum[i] = sum[i - 1] + a[i].ss; } vector <int> dp(n); dp[n - 1] = sum[n - 1] - a[n - 1].ff; for(int i = n - 2;i >= 0;i--){ dp[i] = max(dp[i + 1] , sum[i] - a[i].ff); } int h = 0; for(int i = 0;i < n;i++){ ans = max(dp[i] + a[i].ff - h, ans); h += a[i].ss; } // for(int i = 0;i < n;i++){ // cout<< dp[i]<< ' '; // } // cout<<endl; cout<<ans<<endl; } signed main() { ios::sync_with_stdio(false); cin.tie(nullptr); int ti = 1; while (ti--) { 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...