Submission #831182

# Submission time Handle Problem Language Result Execution time Memory
831182 2023-08-19T21:20:30 Z OAleksa Exhibition (JOI19_ho_t2) C++14
0 / 100
1 ms 340 KB
#include <bits/stdc++.h>
#define f first
#define s second
using namespace std; 
#define int long long
const int maxn = 1e5 + 69;
int n, m, s[maxn], v[maxn], c[maxn];

signed main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	int tt = 1;
	//cin >> tt;
	while(tt--) {
		cin >> n >> m;
		for(int i = 0;i < n;i++) 
			cin >> s[i] >> v[i];
		for(int i = 0;i < m;i++)
			cin >> c[i];
		vector<int> ord(n);
		iota(ord.begin(), ord.end(), 0);
		sort(ord.begin(), ord.end(), [&](int i, int j) {
			return v[i] < v[j];
		});
		sort(c, c + m);
		int l = 1, r = m, ans = 0;
		auto check = [&](int mid) {
			int cnt = 0, p = mid;
			for(int i = 0;i < n;i++) {
				int j = ord[i];
				if(p > 0 && s[j] <= c[m - p]) 
					--p, ++cnt;
			}
			return cnt >= mid;
		};
		while(l <= r) {
			int mid = (l + r) / 2;
			if(check(mid)) {
				ans = mid;
				l = mid + 1;
			}
			else
				r = mid - 1;
		}
		cout << ans << "\n";
	}
   return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Incorrect 1 ms 340 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Incorrect 1 ms 340 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Incorrect 1 ms 340 KB Output isn't correct
4 Halted 0 ms 0 KB -