Submission #697998

#TimeUsernameProblemLanguageResultExecution timeMemory
697998cpLover22Exhibition (JOI19_ho_t2)C++17
50 / 100
28 ms8256 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; typedef pair<int, int> pii; #define fi first #define se second const int N = 1e5 + 5; int n, m; pii a[N]; int c[N]; namespace sub2 { const int N = 1e3 + 5; ll dp[N][N]; void sol() { sort(a + 1, a + n + 1, [&](auto &x, auto &y) { if (x.se == y.se) return x.fi < y.fi; return x.se < y.se; }); sort(c + 1, c + m + 1); for (int i = 1; i <= n; ++i) for (int j = 1; j <= m; ++j) { dp[i][j] = max(dp[i-1][j], dp[i][j-1]); if (a[i].fi <= c[j]) dp[i][j] = max(dp[i][j], dp[i-1][j-1] + 1); } cout << dp[n][m]; } } namespace sub3 { void sol() { } } signed main() { cin.tie(0)->sync_with_stdio(0); cin >> n >> m; for (int i = 1; i <= n; ++i) cin >> a[i].fi >> a[i].se; for (int i = 1; i <= m; ++i) cin >> c[i]; if (n <= 1e3 && m <= 1e3) sub2::sol(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...