-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathcounting_sort.cpp
78 lines (63 loc) · 1.23 KB
/
counting_sort.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/*
You have been given an integer array
A
A
of size
N
N
. Each element of the array ranges between
1
1
and
10
5
10
5
. You need to find the frequency of each distinct element of the array. The elements need to be present in the output in ascending order. You need to print the value and then frequency of each distinct element.
Input Format:
The first line contains a single integer
N
N
denoting the size of the array. The next line contains
N
N
space separated integers, denoting the elements of the array.
Output Format
For each distinct integer, print its value and then frequency in a new line. The distinct integers should appear in the output in ascending order.
Source: Hackerearth
*/
#include <iostream>
using namespace std;
int main()
{
int n,max;
cin>>n;
int a[n];
cin>>a[0];
max=a[0];
for(int i=1;i<n;i++)
{
cin>>a[i];
if(max<a[i])
{
max=a[i];
}
}
int b[max];
for(int i=0;i<max;i++)
{
b[i]=0;
}
for(int i=0;i<n;i++)
{
b[a[i]-1]++;
}
for(int i=0;i<max;i++)
{
if(b[i]!=0)
{
cout<<i+1<<" "<<b[i]<<endl;
}
}
return 0;
}