Cod sursa(job #3185871)
Utilizator | Jannik Jannik_ok | Data | 20 decembrie 2023 18:46:06 |
---|---|---|---|
Problema | Numarare triunghiuri | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.83 kb |
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin ("nrtri.in");
ofstream fout ("nrtri.out");
int t[805];
int main()
{
int i,j,nrnr,counter=0,st,dr,mij,poz;
fin>>nrnr;
for(i=1;i<=nrnr;i++)
fin>>t[i];
sort(t+1,t+nrnr+1);
for(i=1;i<=nrnr;i++)
{
for(j=i+1;j<=nrnr;j++)
{
st=j+1;
dr=nrnr;
poz=j;
while(st<=dr)
{
mij=(st+dr)/2;
if(t[mij]<=t[i]+t[j])
{
poz=mij;
st=mij+1;
}
else
{
dr=mij-1;
}
}
counter=counter+(poz-j);
}
}
fout<<counter;
return 0;
}