Pagini recente » Cod sursa (job #505572) | Cod sursa (job #2967519) | Cod sursa (job #2751138) | Cod sursa (job #1251337) | Cod sursa (job #1229235)
#include <cstdio>
#include <algorithm>
using namespace std;
const int maxaib=60000;
int aib[60010],v[810],n,i,j,s,sol;
int putere(int i)
{
return i&(-i);
}
void aib_update(int i,int s)
{
for(;i<=maxaib;i+=putere(i)) aib[i]+=s;
}
int aib_query(int i)
{
int sol=0;
for(;i>0;i-=putere(i)) sol+=aib[i];
return sol;
}
int main()
{
freopen("nrtri.in", "r", stdin);
freopen("nrtri.out", "w", stdout);
scanf("%d",&n);
for(i=1;i<=n;i++) scanf("%d",&v[i]);
sort(v+1,v+1+n);
for(i=3;i<=n;i++)
{
for(j=1;j<i-1;j++) aib_update(v[j]+v[i-1],1);
s+=i-2;
sol+=s-aib_query(v[i]-1);
}
printf("%d",sol);
return 0;
}