Cod sursa(job #2061181)

Utilizator AndovicioCiobanu Andrei Ovidiu Andovicio Data 8 noiembrie 2017 23:02:56
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <iostream>
#include <fstream>

using namespace std;
cautarebinara(unsigned int ls, unsigned int ld, unsigned int v[800])
{unsigned int mij;
while(ls<=ld)
{
mij=(ls+ld) /2;

if(v[mij]<=v[ls]+v[ld]) return mij;
else ls=mij+1;
return -1;
}}

int main()
{ifstream f("nrtri.in");
ofstream g("nrtri.out");
unsigned int n;
f>>n;
unsigned int v[800],i,j,aux,k,nr=0,mij;
for(i=0;i<n;i++)
    f>>v[i];
for(i=0;i<n-1;i++)
    for(j=i+1;j<n;j++)
        if(v[i]>v[j])
            {
                aux=v[i];
                v[i]=v[j];
                v[j]=aux;
            }
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
{
k=cautarebinara(0,n-1,v);
if(k!=-1 && v[i]+v[k]>=v[j] && v[j]+v[k]>=v[i] && k!=j && k!=i )
nr++;}


g<<nr;
f.close();
g.close();
    return 0;

}