제출 #51954

#제출 시각아이디문제언어결과실행 시간메모리
51954TadijaSebezArt Exhibition (JOI18_art)C++11
100 / 100
458 ms237048 KiB
#include <stdio.h>
#include <algorithm>
using namespace std;
#define ll long long
const int N=500050;
ll a[N],b[N],c[N],d[N];
int id[N];
bool comp(int i, int j){ return c[i]<c[j];}
const ll inf=1e18;
ll max(ll a, ll b){ return a>b?a:b;}
int main()
{
	int n,i;
	scanf("%i",&n);
	for(i=1;i<=n;i++) scanf("%lld %lld",&c[i],&d[i]),id[i]=i;
	sort(id+1,id+1+n,comp);
	for(i=1;i<=n;i++) a[i]=c[id[i]],b[i]=b[i-1]+d[id[i]];
	ll best=-inf,sol=-inf;
	for(i=1;i<=n;i++)
	{
		best=max(best,a[i]-b[i-1]);
		sol=max(sol,best-a[i]+b[i]);
	}
	printf("%lld\n",sol);
	return 0;
}

컴파일 시 표준 에러 (stderr) 메시지

art.cpp: In function 'int main()':
art.cpp:14:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%i",&n);
  ~~~~~^~~~~~~~~
art.cpp:15:50: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  for(i=1;i<=n;i++) scanf("%lld %lld",&c[i],&d[i]),id[i]=i;
                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...