Submission #481195

#TimeUsernameProblemLanguageResultExecution timeMemory
481195LoboExhibition (JOI19_ho_t2)C++17
0 / 100
0 ms204 KiB
#include <bits/stdc++.h> using namespace std; const long long INFll = (long long) 1e18 + 10; const int INFii = (int) 1e9 + 10; typedef long long ll; typedef int ii; typedef long double dbl; #define endl '\n' #define sc second #define fr first #define mp make_pair #define pb push_back #define all(x) x.begin(), x.end() #define maxn 100010 ii n, m, bit[maxn]; pair<ii,ii> p[maxn]; void att(ii pos, ii val) { for(ii i = pos; i <= m; i+= i&-i) { bit[i] = max(bit[i],val); } } ii query(ii pos) { ii ans = 0; for(ii i = pos; i > 0; i-= i&-i) { ans = max(ans, bit[i]); } return ans; } int main() { ios::sync_with_stdio(false); cin.tie(0); //freopen("in.in", "r", stdin); //freopen("out.out", "w", stdout); cin >> n >> m; for(ii i = 1; i <= n; i++) { cin >> p[i].sc >> p[i].fr; } vector<ii> c; for(ii i = 1; i <= m; i++) { ii x;cin >> x; c.pb(x); } c.pb(INFii); sort(p+1,p+1+n); sort(all(c)); ii ans = 0; queue<pair<ii,ii>> q; for(ii i = 1; i <= n; i++) { ii x = lower_bound(all(c),p[i].sc)-c.begin()+1; ii qrr = query(x-1)+1; att(x,qrr); while(x <= q.front().fr) { att(q.front().fr,q.front().sc); q.pop(); } q.push(mp(x+1,qrr+1)); } cout << query(m) << endl; }

Compilation message (stderr)

joi2019_ho_t2.cpp: In function 'int main()':
joi2019_ho_t2.cpp:59:8: warning: unused variable 'ans' [-Wunused-variable]
   59 |     ii ans = 0;
      |        ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...