csp-s第一题:编号#11231
为什么过不了?用取最大值的方法却可以过
代码如下:
#include<bits/stdc++.h>
using namespace std;
int a[100001];
int n;
int b[100001];
bool cmp(int a,int b)
{
return a<b;
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
sort(a+1,a+1+n,cmp);
int flag=1;
int flag1=a[1];
for(int i=1;i<=n;i++)
{
if(a[i]==flag1)
{
b[flag]++;
}
else
{
flag++;
flag1=a[i];
b[flag]++;
}
}
int ans=0;
for(int i=1;i<flag;i++)
{
if(b[i+1]>=b[i])
{
b[i]=0;
}
else
{
b[i]=b[i]-b[i+1];
}
}
for(int i=1;i<=flag;i++)
{
ans=ans+b[i];
}
cout<<ans;
return 0;
}
求解!
谢谢!