Submission #1071441

#TimeUsernameProblemLanguageResultExecution timeMemory
1071441vjudge1Art Exhibition (JOI18_art)C++17
50 / 100
1070 ms22040 KiB
#include<bits/stdc++.h> using namespace std; #define ll long long #define lld long double #define pb push_back #define pf push_front #define F first #define S second #define all(a) a.begin(),a.end() #define IShowSpeed ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL); const int N=5e5+10; const int K=505; const int mod=1e9+7; const ll inf=1e18+228; const int dx[]={-1,0,0,1}; const int dy[]={0,-1,1,0}; ll sum[N]; struct node { ll a,b; }h[N]; bool cmp(node a, node b){ if(a.a == b.a) return a.b < b.b; return a.a < b.a; } int main() { IShowSpeed ll n,ans=0; cin>>n; for(int i=1;i<=n;i++) cin>>h[i].a>>h[i].b; sort(h+1,h+n+1,cmp); for(int i=1;i<=n;i++) sum[i]=sum[i-1]+h[i].b; for(int i=1;i<=n;i++) { for(int j=i;j<=n;j++) { ans=max(ans,(sum[j]-sum[i-1])-(h[j].a-h[i].a)); } } cout<<ans; } /* 1 5 4 1 4 2 5 3 9 1 10 3 */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...