fork(2) download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define lli long long int
  4. #define inf 1000000000
  5. #define pb push_back
  6. #define mp make_pair
  7. #define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
  8. #define endl "\n"
  9. #define yoi cout<<"yo"<<endl;
  10. #define debug(x) cerr << #x << " is " << x << endl;
  11. #define all(x) x.begin(),x.end()
  12. const int mod=1e9+7;
  13. lli binarysearch(vector<lli>&a,lli auxi[],lli start,lli last,lli x){
  14. lli middle,index=-1;
  15. while(start<=last){
  16. middle=(start+last)/2;
  17. if(a[middle]>x&&!auxi[middle]){
  18. index=middle;
  19. last=middle-1;
  20. }
  21. else start=middle+1;
  22. }
  23. return index;
  24. }
  25. int main(){
  26. IOS;
  27. lli n,x;
  28. cin>>n;
  29. vector<lli> v;
  30. int i,j;
  31. for(i=0;i<n;i++){
  32. cin>>x;
  33. v.pb(x);
  34. }
  35. sort(all(v));
  36. //yoi;
  37. lli auxi[n],vis=0,index;
  38. memset(auxi,0,sizeof(auxi));
  39. for(i=0;i<n;i++){
  40. index=binarysearch(v,auxi,i+1,n-1,v[i]);
  41. if(index==-1)
  42. vis++;
  43. else auxi[index]=1;
  44. }
  45. cout<<vis<<endl;
  46. }
  47.  
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
1