Submission #1193439

#TimeUsernameProblemLanguageResultExecution timeMemory
1193439loomArcade (NOI20_arcade)C++20
100 / 100
141 ms16556 KiB
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define nl '\n'

inline void solve(){
   int m, n;
   cin>>m>>n;
   int t[n], a[n];
   vector<pair<int,int>> v;

   for(int i=0; i<n; i++) cin>>t[i];
   for(int i=0; i<n; i++){
      cin>>a[i];
      v.push_back({t[i]+a[i], t[i]-a[i]});
   }
   sort(v.begin(), v.end());

   vector<int> lis;
   for(int i=0; i<n; i++){
      int x = -v[i].second;

      if(lis.empty() or lis.back() < x){
         lis.push_back(x);
         continue;
      }

      lis[lower_bound(lis.begin(), lis.end(), x) - lis.begin()] = x;
   }

   cout<<lis.size();
}

signed main(){
   ios_base::sync_with_stdio(0);
   cin.tie(NULL);cout.tie(NULL);

   int t = 1;
   //cin>>t;
   while(t--) solve();

   return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...