Submission #128649

#TimeUsernameProblemLanguageResultExecution timeMemory
128649miguelExhibition (JOI19_ho_t2)C++14
50 / 100
1073 ms52220 KiB
#include<bits/stdc++.h> using namespace std; #define rc(x) return cout<<x<<endl,0 #define pb push_back #define dbg(x) cout << #x << '=' << x << '\n'; #define ll long long #define sz size() #define x first #define y second #define pi pair <int, int> #define pii pair <int, pi> #define vi vector <int> const ll mod = 1e9 + 7; int n, m, ans; vector <pi> t; vector <int> r; int dp[5001][5001]; int32_t main(){ ios_base :: sync_with_stdio(0); cin.tie(); cout.tie(); cin>>n>>m; t.pb({-1, -1}); r.pb(-1); //for(int i=1; i<=n; i++) dp[i]=1; for(int i=1; i<=n; i++){ int s, v; cin>>s>>v; t.pb({v, s}); } sort(t.begin(), t.end()); for(int i=1; i<=m; i++){ int x; cin>>x; r.pb(x); } sort(t.begin(), t.end()); sort(r.begin(), r.end()); 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(t[i].y<=r[j]) dp[i][j]=max(dp[i][j], dp[i-1][j-1]+1); } } cout<<dp[n][m]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...