Cod sursa(job #1396772)

Utilizator bluespideyMarin Diana bluespidey Data 22 martie 2015 23:27:41
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
#include <algorithm>

using namespace std;

ifstream fin("nrtri.in");
ofstream fout("nrtri.out");

int n,i,nr,j,a,e,v[801],b,c,d,r,sum;

int mod(int f)
{
    if(f<0)
        f*=(-1);
    return f;
}


int main()
{
    fin >> n;

    for(i = 1; i <= n; ++i)
        fin >> v[i];

    sort(v+1,v+n+1);

    for(i = 1; i <= n;++i)
        for(j = i + 1; j <= n; ++j)
            {
                a = mod(v[i]-v[j]);
                b = v[j]+v[i];

                d = lower_bound(v+1,v+n+1,a)-v;
                e = upper_bound(v+1,v+n+1,b)-v-1;

                if((mod(d-e)-1)>0)
                    nr += mod(d-e)-1;
            }
    fout << nr/2;

    return 0;
}