思路:
前面有a1个0色球,编号和为a2
有b1个1色球,编号和为b2
同色小球间不存在距离贡献,
若i为0色球,则前面的1色球对它的贡献为b1*i-b2
为1色球同理
#include <cstdio>
#include <iostream>
#define ll long long
using namespace std;
ll n, tmp, ans, num[2], jjl[2];
int main()
{
scanf("%lld", &n);
for(ll i = 1; i <= n; i++)
{
scanf("%lld",&tmp);
ans += (num[tmp ^ 1] * (i - 1) - jjl[tmp ^ 1]), num[tmp]++, jjl[tmp] += (i - 1);
}
printf("%lld\n",ans);
return 0;
}