#include <cstdio>
bool flags[1000];
int get_unique_count(int a[], int n){
int cnt=0;
for(int i=0;i<n;++i){
if(!flags[*(a+i)]) {
flags[*(a+i)] = flags[*(a+i)]^1;
++cnt;
}
}
return cnt;
}
int main()
{
int a[1000];
int n;
scanf("%d", &n);
for(int i=0;i<n;i++) scanf("%d", &a[i]);
printf("%d", get_unique_count(a,n));
return 0;
}
//
#include <cstdio>
int flags[1000][1000][2];
int get_unique_count(int a[], int n){
int cnt=0;
for(int i=0;i<n;++i){
for(int j=0;j<n;++j){
if(!flags[a[i]%1000][j][0]) {
flags[a[i]%1000][j][0]=1;
flags[a[i]%1000][j][1]=a[i];
++cnt;
break;
}
else if(flags[a[i]%1000][j][1]==a[i]) break;
}
}
return cnt;
}
int main(){
int n,a[1000];
scanf("%d",&n);
for(int i=0;i<n;++i)
scanf("%d",&a[i]);
printf("%d",get_unique_count(a,n));
}
//
#include <cstdio>
#include <unordered_set>
std::unordered_set<int> flags;
int get_unique_count(int a[], int n){
int cnt=0;
for(int i=0;i<n;++i){
if(!flags.count(a[i])){
flags.insert(a[i]);
++cnt;
}
}
return cnt;
}
int main()
{
int a[1000];
int n;
scanf("%d", &n);
for(int i=0;i<n;i++) scanf("%d", &a[i]);
printf("%d", get_unique_count(a,n));
return 0;
}
//
#include <cstdio>
int get_unique_count(int a[], int size)
{
int cnt = 0;
for (int i = 0; i < size; i ++ )
{
bool is_exist = false;
for (int j = 0; j < i; j ++ )
if (a[j] == a[i])
{
is_exist = true;
break;
}
if (!is_exist) cnt ++ ;
}
return cnt;
}
int main()
{
int a[1000];
int n;
scanf("%d", &n);
for(int i=0;i<n;i++) scanf("%d", &a[i]);
printf("%d", get_unique_count(a,n));
return 0;
}
//
#include <cstdio>
#include <algorithm>
int get_unique_count(int a[], int n);
int main(){
int n;
int a[1000];
scanf("%d", &n);
for(int i=0;i<n;i++) scanf("%d", &a[i]);
printf("%d", get_unique_count(a,n));
return 0;
}
int get_unique_count(int a[], int n){
std::sort(a, a+n);
return std::unique(a, a+n) - a;
}