Description
给你n个数,每个数的大小在long long范围内。 请输出n个数升序排序(小的在前,大的在后)后,有多少类不同的数字 .
Format
Input
第一行两个数n,n<=5e5 第二行n个数,每个数的权值在[0,1e15]之间 。
Output
如题
Samples
【输入样例】
输入数据 1
5
1 1 2 3 3
Copy
输出数据 1
3
Copy
【输出样例】
Limitation
1s, 1024KiB for each test case.
思路
直接做,代码见下 :
#include<bits/stdc++.h>
using namespace std;
long long n,m,k=1,s=1;
long long a[1099048];
int main(){
cin>>n;
for(long long i=1;i<=n;i++){
cin>>a[i];
}
sort(a+1,a+n+1);
a[0]=-1;
for(long long i=1;i<=n;i++){
if(a[i]==a[i-1]) s++;
else{
k++;
}
}
//k*=s;
cout<<k-1;
return 0;
}