Cod sursa(job #1601933)

Utilizator tqmiSzasz Tamas tqmi Data 16 februarie 2016 13:03:42
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <iostream>
#include <algorithm>
#include <fstream>
using namespace std;
ifstream fin("nrtri.in");
ofstream fout("nrtri.out");
int x[1000],N,i,j,sol;
int caut(int s,int sf,int l)
{
    int mid=(s+sf)/2;
    if(x[mid]==l)
        return mid+1;
    if(s>=sf)
        return mid;
    if(x[mid]>l)
    {
        return caut(s,mid-1,l);
    }
    if(x[mid]<l)
    {
        return caut(mid+1,sf,l);
    }
    return mid;
}
int main()
{
    fin>>N;
    for(i=1;i<=N;i++)
        fin>>x[i];
    sort(x+1,x+1+N);
    for(i=1;i<=N;i++)
        for(j=i+1;j<=N-1;j++)
        {
            sol+=caut(j,N,x[i]+x[j])-j-1;
        }
        fout<<sol;
    return 0;
}