제출 #330227

#제출 시각아이디문제언어결과실행 시간메모리
330227maximath_1Art Exhibition (JOI18_art)C++11
100 / 100
232 ms13676 KiB
#include <iostream>
#include <vector>
#include <assert.h>
#include <random>
#include <chrono>
#include <iomanip>
#include <algorithm>
#include <set>
#include <queue>
#include <unordered_set>
using namespace std;

#define endl "\n"
#define ll long long
const ll inf = 1e9 + 69;
const int MX = 5e5 + 5;
const int LG = (int)log2(MX);
const ll mod = 1e9 + 7;
const int BLOCK = 450;

mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());

pair<ll, ll> a[MX];
int n; ll ans = -inf * inf, tmp = -inf * inf, sm = -inf * inf;

int main(){
	scanf("%d", &n);

	for(int i = 1; i <= n; i ++)
		scanf("%lld %lld", &a[i].first, &a[i].second);
	sort(a + 1, a + n + 1);

	for(int i = 1; i <= n; i ++){
		tmp = max(tmp, a[i].first - sm);
		sm += a[i].second;
		ans = max(ans, sm - a[i].first + tmp);
	}

	printf("%lld\n", ans);
	return 0;
}

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

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