Submission #312910

#TimeUsernameProblemLanguageResultExecution timeMemory
312910noob_c0deArt Exhibition (JOI18_art)C++17
100 / 100
225 ms25208 KiB
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define ar array
#define db double
const int mxn=5e5+3;
int n;
ar<int,2> a[mxn];
int sum[mxn];
int dp[mxn];
signed main()
{
    ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
    cin>>n;
    for (int i=1;i<=n;i++)
    {
        int x;
        cin>>a[i][0]>>a[i][1];
    }
    sort(a+1,a+n+1);
    for (int i=1;i<=n;i++) sum[i]=sum[i-1]+a[i][1];
    dp[n+1]=-1e18;
    for (int i=n;i>=1;i--)
    {
        dp[i]=max(dp[i+1],sum[i]-a[i][0]);
    }
    int ans=0;
    // n^2
    /*for (int i=1;i<=n;i++)
    {
        int sum=0;
        for (int j=i;j<=n;j++)
        {
            sum+=a[j][1];
            ans=max(ans,sum-(a[j][0]-a[i][0]));
        }
    }*/
    for (int i=1;i<=n;i++)
    {
        ans=max(ans,a[i][0]-sum[i-1]+dp[i]);
    }
    cout<<ans;
    return 0;
}

Compilation message (stderr)

art.cpp: In function 'int main()':
art.cpp:17:13: warning: unused variable 'x' [-Wunused-variable]
   17 |         int x;
      |             ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...