Pagini recente » Cod sursa (job #3223305) | Cod sursa (job #3200275) | Cod sursa (job #1643026) | Cod sursa (job #2049905) | Cod sursa (job #2333703)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("nrtri.in");
ofstream fout ("nrtri.out");
int n,v[805],ans,st,dr,mij,sum,poz;
void read()
{
fin>>n;
for(int i=1;i<=n;i++) fin>>v[i];
sort(v+1,v+1+n);
}
void solve()
{
for(int i=1;i<=n-2;i++)
for(int j=i+1;j<=n-1;j++)
{
sum=v[i]+v[j];
st=j+1;dr=n;poz=-1;
while(st<=dr)
{
mij=st+(dr-st)/2;
if(v[mij]>sum)
{
dr=mij-1;
}
else {
poz=mij;
st=mij+1;
}
}
if(poz!=-1) ans+=poz-j;
}
fout<<ans;
}
int main()
{
read();
solve();
return 0;
}