답안 #331341

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
331341 2020-11-28T03:52:43 Z Nson Potatoes and fertilizers (LMIO19_bulves) C++14
24 / 100
406 ms 23916 KB
#include <bits/stdc++.h>

using namespace std;
using ll = long long;

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

	multiset<ll> s;

	ll m = 0, b = 0;

	// s.insert(0);

	auto can_rem = [&]() {
		if(s.empty()) return false;
		if(m <= 0) return false;
		if(*prev(s.end()) < 0) return false;
		return true;
		if((int)s.size() >= 2 and *prev(prev(s.end())) >= 0) return true;
		return false;
	};

	auto smooth = [&]() {
		while(can_rem()) {
			m--;
			b += *prev(s.end());
			s.erase(prev(s.end()));
		}
	};

	ll d = 0;
	for(int i = 0; i < n; i++) {
		int aa, bb;
		scanf("%d %d", &aa, &bb);
		aa -= bb;
		d += aa;

		smooth();
		if(d >= 0) {
			s.insert(d);
			s.insert(d);
			b -= d;
			m += 1;
		}
		else {
			m += 1;
			b -= d;
		}
		// while(!s.empty() and *s.begin() < 0) s.erase(s.begin());
	}

	// smooth();
	while(!s.empty() and *prev(s.end()) > d) {
		m--;
		b += *prev(s.end());
		s.erase(prev(s.end()));
	}

	printf("%lld\n", d * m + b);

}

Compilation message

bulves.cpp: In function 'int main()':
bulves.cpp:8:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    8 |  scanf("%d", &n);
      |  ~~~~~^~~~~~~~~~
bulves.cpp:36:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   36 |   scanf("%d %d", &aa, &bb);
      |   ~~~~~^~~~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 2 ms 492 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 21 ms 748 KB Output is correct
5 Correct 50 ms 2412 KB Output is correct
6 Correct 177 ms 11628 KB Output is correct
7 Correct 158 ms 364 KB Output is correct
8 Correct 313 ms 23872 KB Output is correct
9 Correct 148 ms 2668 KB Output is correct
10 Correct 406 ms 23916 KB Output is correct
11 Correct 325 ms 23784 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 2 ms 492 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 21 ms 748 KB Output is correct
5 Correct 50 ms 2412 KB Output is correct
6 Correct 177 ms 11628 KB Output is correct
7 Correct 158 ms 364 KB Output is correct
8 Correct 313 ms 23872 KB Output is correct
9 Correct 148 ms 2668 KB Output is correct
10 Correct 406 ms 23916 KB Output is correct
11 Correct 325 ms 23784 KB Output is correct
12 Incorrect 76 ms 4076 KB Output isn't correct
13 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 2 ms 492 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Incorrect 1 ms 512 KB Output isn't correct
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 2 ms 492 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 1 ms 364 KB Output is correct
5 Incorrect 1 ms 512 KB Output isn't correct
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 2 ms 492 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 1 ms 364 KB Output is correct
5 Incorrect 1 ms 512 KB Output isn't correct
6 Halted 0 ms 0 KB -