Submission #211101

#TimeUsernameProblemLanguageResultExecution timeMemory
211101ld_minh4354Art Exhibition (JOI18_art)C++14
100 / 100
244 ms32760 KiB
#include<bits/stdc++.h>
using namespace std;

#define int long long
#define fi first
#define se second

int n,i,dp[500010],d[500010],v[500010],ans;
pair<int,int> x[500010];

signed main()
{
    ios_base::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	
	cin>>n;
	for (i=1;i<n+1;i++) cin>>x[i].fi>>x[i].se;
	sort(x+1,x+n+1);
	for (i=1;i<n+1;i++) d[i]=x[i].fi,v[i]=x[i].se;
	for (i=1;i<n;i++) d[i]=d[i+1]-d[i];d[n]=0;
	dp[1]=v[1]-d[1];
	for (i=2;i<n+1;i++) dp[i]=max(v[i]-d[i],v[i]-d[i]+dp[i-1]);
	for (i=1;i<n+1;i++) dp[i]=dp[i]+d[i];
	ans=0;
	for (i=1;i<n+1;i++) ans=max(ans,dp[i]);
	cout<<ans;
}

Compilation message (stderr)

art.cpp: In function 'int main()':
art.cpp:21:2: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
  for (i=1;i<n;i++) d[i]=d[i+1]-d[i];d[n]=0;
  ^~~
art.cpp:21:37: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
  for (i=1;i<n;i++) d[i]=d[i+1]-d[i];d[n]=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...