Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- `int main()
- {
- ios_base::sync_with_stdio(false);
- cin.tie(NULL);
- #ifndef ONLINE_JUDGE
- freopen("input.txt","r",stdin);
- freopen("output.txt","w",stdout);
- #endif
- ll t;
- cin>>t;
- while(t--)
- {
- ll n,i,sum=0,c,ma=0;
- ll arr[200005];
- ll freq[200005]={0};
- cin>>n;
- for(i=0;i<n;i++)
- {
- cin>>arr[i];
- if(arr[i]>ma)
- ma=arr[i];
- freq[arr[i]]++;
- }
- sort(freq,freq+ma+1);
- freq[ma+1]=mod;
- for(i=ma;i>=1;i--)
- {
- if(freq[i]>=freq[i+1])
- freq[i]=freq[i+1]-1;
- if(freq[i]>0)
- sum=sum+freq[i];
- else
- break;
- }
- cout<<sum<<"n";
- }` -TLE submission
- int main()
- {
- ios_base::sync_with_stdio(false);
- cin.tie(NULL);
- #ifndef ONLINE_JUDGE
- freopen("input.txt","r",stdin);
- freopen("output.txt","w",stdout);
- #endif
- ll t;
- cin>>t;
- while(t--)
- {
- ll n,i,sum=0,c,ma=0;
- cin>>n;
- ll arr[n+3];
- ll freq[n+3]={0};
- for(i=0;i<n;i++)
- {
- cin>>arr[i];
- if(arr[i]>ma)
- ma=arr[i];
- freq[arr[i]]++;
- }
- sort(freq,freq+ma+1);
- freq[ma+1]=mod;
- for(i=ma;i>=1;i--)
- {
- if(freq[i]>=freq[i+1])
- freq[i]=freq[i+1]-1;
- if(freq[i]>0)
- sum=sum+freq[i];
- else
- break;
- }
- cout<<sum<<"n";
- }
- }
- AC Submission
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement