小埋的二次方问题WA90求助

前9个样例都过了,第10个出现了神秘情况,有大佬能帮帮忙吗?
//题目入口
https://www.xinyoudui.com/ac/contest/777001D2100060F03BA8EB6/problem/6290

#include <bits/stdc++.h>
using namespace std;
int w;
long long s[200005];
map <int,int> mp;
int t[200005];//桶里装每个map值各有多少个
int main()
{
	s[0]=0;
	for(int i=1;i<=200005;i++){
		s[i]=s[i-1]+i-1;
	}//计算某个数重复i次可增加的方案数
	cin>>w;
	while(w--){
		int n;
		cin>>n;
		long long ans=0;
		memset(t,0,sizeof t);
		mp.clear();//初始化
		int tt,tmax=0;
		for(int i=1;i<=n;i++){
			cin>>tt;
			mp[tt]++;
			t[mp[tt]]++;
			t[mp[tt]-1]--;
			if(mp[tt]>tmax){
				tmax=mp[tt];//下标最大的桶的下标
			}
		}
		for(int i=1;i<=tmax;i++){
			ans+=s[i]*t[i];//数重复i次可增加的方案数*刚好重复i次数个数
		}
		ans+=(mp[1]*mp[2]);//1和2的特殊情况
		cout<<ans<<"\n";
	}
	return 0;
}

为什么小埋的二次方问题是提高

改出来了,大家不用调了,竟是没开long long

捕获

@栗子酱 关贴


这是什么情况

你想干嘛

删除

让管理员关贴就可以了亲

还是算了

可以自己举报自己就能删除了(官方解决办法)

但是举报完活跃用户也容易没

2 个赞