Cod sursa(job #3253889)
Utilizator | Data | 5 noiembrie 2024 09:17:04 | |
---|---|---|---|
Problema | Numarare triunghiuri | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.57 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("nrtri.in");
ofstream fout("nrtri.out");
int n,i,j,k,nr,a[805];
int main()
{
fin>>n;
for(i=1;i<=n;i++)
{
fin>>a[i];
}
sort(a+1,a+n+1);
for(i=1;i<=n;i++)
{
for(j=i+1;j<=n;j++)
{
int st=0,dr=n+1,mij;
while(st<dr-1)
{
mij=(st+dr)/2;
if(a[i]+a[j]>=a[mij]) st=mij;
else dr=mij-1;
}
nr+=(st-j);
}
}
fout<<nr;
return 0;
}