제출 #103348

#제출 시각아이디문제언어결과실행 시간메모리
103348tincamateiArt Exhibition (JOI18_art)C++14
100 / 100
402 ms20984 KiB
#include <bits/stdc++.h>

using namespace std;

const int MAX_N = 500000;

struct Paint {
	long long a, b;
}v[1+MAX_N];

bool cmp(Paint a, Paint b) {
	return a.a < b.a;
}

int main() {
#ifdef HOME
	FILE *fin = fopen("input.in", "r");
	FILE *fout = fopen("output.out", "w");
#else
	FILE *fin = stdin;
	FILE *fout = stdout;
#endif

	int n;
	long long best, rez, sp;

	fscanf(fin, "%d", &n);

	for(int i = 0; i < n; ++i)
		fscanf(fin, "%lld%lld", &v[i].a, &v[i].b);
	sort(v, v + n, cmp);
	
	sp = rez = 0LL;
	best = v[0].a;
	
	/*for(int i = 0; i < n; ++i) {
		sp = 0LL;
		for(int j = i; j < n; ++j) {
			sp += v[j].b;
			rez = max(rez, sp - v[j].a + v[i].a);
			//if(sp - v[j].a + v[i].a == rez)
				//printf("%d %d->%lld\n", i, j, sp - v[j].a + v[i].a);
		}
	}*/

	for(int i = 0; i < n; ++i) {
		sp = sp + v[i].b;
		best = max(best, -sp + v[i].b + v[i].a);
		rez = max(rez, sp - v[i].a + best);
	}

	fprintf(fout, "%lld", rez);

	fclose(fin);
	fclose(fout);
	return 0;
}

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

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