제출 #45127

#제출 시각아이디문제언어결과실행 시간메모리
45127PajarajaArt Exhibition (JOI18_art)C++17
50 / 100
1082 ms66344 KiB
#include <bits/stdc++.h>
using namespace std;
pair<long long,long long> a[500007];
map<long long,long long> m;
set<long long> s;
int main()
{
	int n,cnt=0;
	scanf("%d",&n);
	for(int i=0;i<n;i++)
	{
		long long t1,t2;
		scanf("%lld%lld",&t1,&t2);
		m[t1]+=t2;
		s.insert(t1);
	}
	while(s.size()>0)
	{
		long long t=*s.begin();
		a[cnt].first=t;
		a[cnt++].second=m[t];
		s.erase(t);
	}
	sort(a,a+cnt);
	long long sum=0,sol=-1000000000000000000LL,minn=1000000000000000000LL;
	for(int i=0;i<cnt;i++)
	{
		minn=fmin(minn,-a[i].first+sum);
		sum+=a[i].second;
		sol=fmax(sol,sum-a[i].first-minn);
	}
	printf("%lld",sol);
}

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

art.cpp: In function 'int main()':
art.cpp:9:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d",&n);
  ~~~~~^~~~~~~~~
art.cpp:13:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%lld%lld",&t1,&t2);
   ~~~~~^~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...