?
# | Author | Problem | Lang | Verdict | Time | Memory | Sent | Judged | |
---|---|---|---|---|---|---|---|---|---|
85514408 |
Practice: AbhishekAg |
607A - 32 | C++17 (GCC 9-64) | Wrong answer on test 11 | 61 ms | 8468 KB | 2020-06-30 09:55:31 | 2020-06-30 09:55:31 |
#include<bits/stdc++.h> #define ll long long #define fi first #define se second #define pb push_back #define mp make_pair #define clr clear() #define ins insert #define tol(s) transform(s.begin(),s.end(),s.begin(),::tolower); #define tou(s) transform(s.begin(),s.end(),s.begin(),::toupper); #define rep(i,n) for(__typeof(n) i=0; i<(n); i++) #define mem(x,val) memset((x),(val),sizeof(x)); #define cusmem(x,val) for(auto &i:x) i=val; #define all(x) x.begin(),x.end() #define fastio ios_base::sync_with_stdio(false);\ cin.tie(NULL);\ cout.tie(NULL); using namespace std; typedef pair<int,int> pii; typedef pair<ll,ll>pll; typedef vector<ll> vl; typedef vector<pll> vpll; typedef vector<int> vi; typedef vector<bool> vb; typedef vector<pii> vpii; string imp="Impossible\n"; mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count()); clock_t startTime; double getCurrentTime() { return (double)(clock() - startTime) / CLOCKS_PER_SEC; } // const int N=11; const int N=5e6+5; ll MOD=1e9+7; ll n,m,k,i,j; bool f0,f1,f2; const int MAXN=2e3; int main(){ #ifndef ONLINE_JUDGE freopen("input.txt","r",stdin); freopen("output.txt","w",stdout); #endif fastio int tests=1; // cin>>tests; while(tests--){ ll n; cin>>n; int a[n],b[n],dp[n],ans=0; mem(dp,0); vector<pii>noline,ord; for(int i=0;i<n;i++){ cin>>a[i]>>b[i]; ord.pb({a[i],i}); } sort(all(ord)); for(int i=0;i<n;i++){ int ordin=ord[i].se; int oa=a[ordin]; int ob=b[ordin]; int ind=lower_bound(noline.begin(),noline.end(),mp(oa-ob,-1))-noline.begin(); if(ind==0){ dp[i]=1; } else{ ind--; dp[i]=dp[noline[ind].se]+1; } noline.pb({oa,i}); if(i>0) dp[i]=max(dp[i],dp[i-1]); } cout<<n-dp[n-1]<<"\n"; } return 0; }
?
?
?
?