Submission #130996

#TimeUsernameProblemLanguageResultExecution timeMemory
130996imyujinBodyguards (CEOI10_bodyguards)C++14
50 / 100
89 ms9432 KiB
#include <stdio.h>
#include <vector>
#include <algorithm>
#include <functional>

using namespace std;

#define MAXR 2005
#define fi first
#define se second

typedef long long lint;
typedef pair<int, int> pii;
typedef pair<lint, lint> pll;

vector<pll> rv, cv;
lint A[MAXR];
vector<lint> r;

int main() {
	int R, C;

	scanf("%d", &R);
	rv.resize(R);
	for(int i = 0; i < R; i++) scanf("%lld%lld", &rv[i].fi, &rv[i].se);
	scanf("%d", &C);
	cv.resize(C);
	for(int i = 0; i < C; i++) scanf("%lld%lld", &cv[i].fi, &cv[i].se);
	
	for(int i = 0; i < C; i++) for(int j = 0; j < cv[i].fi; j++) A[j] += cv[i].se;
	for(int i = 0; i < R; i++) for(int j = 0; j < rv[i].se; j++) r.push_back(rv[i].fi);
	sort(r.begin(), r.end(), greater<lint>());
	for(int i = 0; i < r.size(); i++) {
		//printf("i = %d, A = %d, r = %d\n", i, A[i], r[i]);
		if(i != 0) {
			A[i] += A[i - 1];
			r[i] += r[i - 1];
		}
		if(A[i] < r[i]) {
			printf("0");
			return 0;
		}
	}
	printf("1");
	return 0;
}

Compilation message (stderr)

bodyguards.cpp: In function 'int main()':
bodyguards.cpp:33:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i = 0; i < r.size(); i++) {
                 ~~^~~~~~~~~~
bodyguards.cpp:23:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d", &R);
  ~~~~~^~~~~~~~~~
bodyguards.cpp:25:34: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  for(int i = 0; i < R; i++) scanf("%lld%lld", &rv[i].fi, &rv[i].se);
                             ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bodyguards.cpp:26:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d", &C);
  ~~~~~^~~~~~~~~~
bodyguards.cpp:28:34: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  for(int i = 0; i < C; i++) scanf("%lld%lld", &cv[i].fi, &cv[i].se);
                             ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...