Submission #701027

#TimeUsernameProblemLanguageResultExecution timeMemory
701027RahalArt Exhibition (JOI18_art)C++17
0 / 100
2 ms4240 KiB
#include <bits/stdc++.h> #define IOS ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0) #define int long long using namespace std; ///Constants //int mod = 1000000007; /*void setIO(string s) { freopen((s + ".in").c_str(), "r", stdin); freopen((s + ".out").c_str(), "w", stdout); }*/ int dp[500010]; signed main() { IOS; memset(dp, -1, sizeof(dp)); int n, a, b; cin >> n; vector<pair<int, int>>v; vector<int>pre; v.push_back({0, 0}); for(int i = 0 ; i < n ; ++i){ cin >> a >> b; v.push_back({a, b}); } sort(v.begin(), v.end()); a = 0; for(int i = 0 ; i <= n ; ++i){ a+=v[i].second; pre.push_back(a); } // cout << "................\n"; // for(int i = 0 ; i <= n ; ++i){ // cout << v[i].first << " " <<pre[i] << "\n"; // } //cout << "................\n"; int mx = -1; for(int i = 0 ; i < n ; ++i){ for(int j = i+1 ; j <= n ; ++j){ int lol = (pre[j]-pre[i])-(v[j].first-v[i+1].first); mx = max(mx, lol); if(dp[j]<lol) dp[j] = mx; else break; //cout << i << " " << j << " " << lol << " " << mx << "\n"; } } cout << mx ; 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...