Submission #1288327

#TimeUsernameProblemLanguageResultExecution timeMemory
1288327muhammad-ahmadArt Exhibition (JOI18_art)C++20
100 / 100
138 ms12480 KiB
// #include <bits/stdc++.h> #include <iostream> #include <cmath> #include <algorithm> #include <map> #include <vector> #include <iomanip> #include <string> #include <queue> #include <set> #include <deque> #include <numeric> #include <stack> #include <chrono> using namespace std; #define int long long #define endl '\n' #define all(v) (v).begin(), (v).end() #define rall(v) (v).rbegin(), (v).rend() #define fi first #define Se second void fast_io() { ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); cout << fixed << setprecision(9); } template <typename T> istream& operator>>(istream& in, vector<T>& v) { for (auto &x : v) in >> x; return in; } template <typename T1, typename T2> istream& operator>>(istream& in, pair<T1, T2>& p) { in >> p.first >> p.second; return in; } template <typename T> void print_single(const T& x) { cout << x; } template <typename T1, typename T2> void print_single(const pair<T1, T2>& p) { cout << p.first << ' ' << p.second; } template <typename T> void print_vector(const vector<T>& v) { if (v.empty()) { cout << endl; return; } if constexpr (is_arithmetic_v<T>) { for (int i = 0; i < sz(v); i++) { if (i) cout << ' '; cout << v[i]; } cout << endl; } else { for (auto &x : v) { print_single(x); cout << endl; } cout << endl; } } template <typename T> ostream& operator<<(ostream& out, const vector<T>& v) { print_vector(v); return out; } template <typename K, typename V> ostream& operator<<(ostream& out, const map<K, V>& mp) { for (auto &p : mp) cout << p.first << ' ' << p.second << endl; cout << endl; return out; } void solve() { int n; cin >> n; deque<pair<int, int>> a; for (int i = 1; i <= n; i++){ int u, v; cin >> u >> v; a.push_back({u, v}); } sort(all(a)); a.push_front({0,0}); int dp[n + 1] = {}; for (int i = 1; i <= n; i++){ dp[i] = max(dp[i - 1] - (a[i].first - a[i - 1].first) + a[i].second, a[i].second); // dp[i] = max(dp[i], dp[i - 1]); } int ma = 0; for (int i = 1; i <= n; i++){ ma = max(ma, dp[i]); } cout << ma << endl; return; } signed main() { fast_io(); srand(chrono::steady_clock::now().time_since_epoch().count()); int tc = 1; // cin >> tc; while (tc--) solve(); 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...