Submission #1335461

#TimeUsernameProblemLanguageResultExecution timeMemory
1335461Bilolbek11Art Exhibition (JOI18_art)C++20
0 / 100
0 ms344 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define all(s) s.begin(), s.end()
#define endl '\n'
#define ld long double
#define ull unsigned long long
#define vi vector<int>
#define vii vector<vector<int>>
#define vch vector<char>
#define ss second
#define ff first
#define vld vector<long double>
#define vs vector<string>
#define pb push_back
#define pp pop_back
#define pii pair<int, int>
#define vpp vector<pair<int, int>>
#define mp make_pair
#define sz(x) (int)x.size()
#define pi 3.14159265358979323846
string yes = "YES";
string no = "NO";
const int mod = 1e9 + 7;
const int mxN = 1e5 + 1;
const int inf = 1e18;

void setIO(string s)
{
    freopen((s + ".in").c_str(), "r", stdin);
    freopen((s + ".out").c_str(), "w", stdout);
}
void txt()
{
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
}

void solve()
{
    int n;
    cin >> n;
    vpp a(n);
    for (int i = 0;i < n;i++) {
        cin >> a[i].ff >> a[i].ss;
    }
    sort(all(a));
    vi pref(n + 1);
    pref[0] = 0;
    for (int i = 0;i < n;i++) {
        pref[i + 1] += pref[i] + a[i].ss;
    }
    vi sm(n);
    int ans = -inf;
    int mn = inf;
    for (int i = 0;i < n;i++) {
        ans = max(ans, pref[i+1] - a[i].ff - mn);
        mn = min(mn, pref[i] - a[i].ff);
    }
    cout << ans;
}

signed main()
{
    // txt();
    // setIO("problemname");
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    auto start = chrono::high_resolution_clock::now();

    int t = 1;
    //cin >> t;
    while (t--)
    {
        solve();
        cout << endl;
    }

#ifdef Bilol
    auto duration = chrono::duration_cast<chrono::microseconds>(chrono::high_resolution_clock::now() - start);
    cout << "Time: " << (double)duration.count() << " ms" << endl;
#endif
}
/*
██████╗░██╗██╗░░░░░░█████╗░██╗░░░░░██████╗░███████╗██╗░░██╗
██╔══██╗██║██║░░░░░██╔══██╗██║░░░░░██╔══██╗██╔════╝██║░██╔╝
██████╦╝██║██║░░░░░██║░░██║██║░░░░░██████╦╝█████╗░░█████═╝░
██╔══██╗██║██║░░░░░██║░░██║██║░░░░░██╔══██╗██╔══╝░░██╔═██╗░
██████╦╝██║███████╗╚█████╔╝███████╗██████╦╝███████╗██║░╚██╗
╚═════╝░╚═╝╚══════╝░╚════╝░╚══════╝╚═════╝░╚══════╝╚═╝░░╚═╝
*/

Compilation message (stderr)

art.cpp: In function 'void setIO(std::string)':
art.cpp:30:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   30 |     freopen((s + ".in").c_str(), "r", stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
art.cpp:31:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   31 |     freopen((s + ".out").c_str(), "w", stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
art.cpp: In function 'void txt()':
art.cpp:35:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   35 |     freopen("input.txt", "r", stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
art.cpp:36:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   36 |     freopen("output.txt", "w", stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...