fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. typedef long long ll;
  5.  
  6. #define N 1000009
  7. ll b[N+1], a[N+1], poww[N+1], dp[N+1], tdp[N+1];
  8. int main(){
  9. ll i,n,tot = 0;
  10. cin >> n;
  11. for(i=1;i<=n;i++)
  12. {
  13. cin >> a[i] >> b[i];
  14. poww[a[i]]=max(poww[a[i]],b[i]);
  15. tdp[a[i]]++;
  16. }
  17. dp[1]=dp[0]=0;
  18. for(i=1;i<=N;i++){
  19. tdp[i]+=tdp[i-1];
  20. }
  21. for(i=1;i<=N;i++)
  22. {
  23. if(poww[i]==0){
  24. dp[i]=dp[i-1];
  25. }
  26. else{
  27. if(i-poww[i]-1<0){
  28. dp[i]=(tdp[i-1]);
  29. }
  30. else{
  31. dp[i]=(tdp[i-1]-tdp[i-poww[i]-1])+dp[i-poww[i]-1];
  32. }
  33. }
  34. }
  35. tot = INT_MAX;
  36. for(i=1;i<=n;i++){
  37. tot = min(tot,n-tdp[a[i]]+dp[a[i]]);
  38. }
  39. cout << tot << "\n";
  40. }
Success #stdin #stdout 0.02s 42520KB
stdin
7
1 1
2 1
3 1
4 1
5 1
6 1
7 1
stdout
3