#include<bits/stdc++.h>
using namespace std;
int sum[5001][5001],t[5001],n,ans[5001];
struct str
{
int id;
int num;
}b[5001];
bool cmp(int x,int y)
{
return x>y;
}
bool cmp2(str i,str j)
{
return i.num>j.num;
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>t[i];
sum[i][t[i]]++;
for(int j=1;j<=n;j++)
{
sum[i][j]+=sum[i-1][j];
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n-i+1;j++)
{
for(int k=1;k<=n;k++)b[k].num=sum[j+i-1][k]-sum[j-1][k],b[k].id=k;
sort(b+1,b+n+1,cmp2);
ans[b[1].id]++;
}
}
for(int i=1;i<=n;i++)cout<<ans[i]<<" ";
return 0;
}
代码如上,样例过了。