Advertisement
Guest User

Untitled

a guest
Jun 26th, 2019
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.11 KB | None | 0 0
  1. `int main()
  2. {
  3. ios_base::sync_with_stdio(false);
  4. cin.tie(NULL);
  5. #ifndef ONLINE_JUDGE
  6. freopen("input.txt","r",stdin);
  7. freopen("output.txt","w",stdout);
  8. #endif
  9. ll t;
  10. cin>>t;
  11. while(t--)
  12. {
  13. ll n,i,sum=0,c,ma=0;
  14. ll arr[200005];
  15. ll freq[200005]={0};
  16. cin>>n;
  17. for(i=0;i<n;i++)
  18. {
  19. cin>>arr[i];
  20. if(arr[i]>ma)
  21. ma=arr[i];
  22. freq[arr[i]]++;
  23. }
  24. sort(freq,freq+ma+1);
  25. freq[ma+1]=mod;
  26. for(i=ma;i>=1;i--)
  27. {
  28. if(freq[i]>=freq[i+1])
  29. freq[i]=freq[i+1]-1;
  30.  
  31. if(freq[i]>0)
  32. sum=sum+freq[i];
  33. else
  34. break;
  35. }
  36. cout<<sum<<"n";
  37.  
  38. }` -TLE submission
  39.  
  40. int main()
  41. {
  42. ios_base::sync_with_stdio(false);
  43. cin.tie(NULL);
  44. #ifndef ONLINE_JUDGE
  45. freopen("input.txt","r",stdin);
  46. freopen("output.txt","w",stdout);
  47. #endif
  48. ll t;
  49. cin>>t;
  50. while(t--)
  51. {
  52. ll n,i,sum=0,c,ma=0;
  53. cin>>n;
  54. ll arr[n+3];
  55. ll freq[n+3]={0};
  56. for(i=0;i<n;i++)
  57. {
  58. cin>>arr[i];
  59. if(arr[i]>ma)
  60. ma=arr[i];
  61. freq[arr[i]]++;
  62. }
  63. sort(freq,freq+ma+1);
  64. freq[ma+1]=mod;
  65. for(i=ma;i>=1;i--)
  66. {
  67. if(freq[i]>=freq[i+1])
  68. freq[i]=freq[i+1]-1;
  69.  
  70. if(freq[i]>0)
  71. sum=sum+freq[i];
  72. else
  73. break;
  74. }
  75. cout<<sum<<"n";
  76.  
  77. }
  78. }
  79. AC Submission
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement