Cod sursa(job #2189764)

Utilizator Mc_TaviMacovei Octavian-Cosmin Mc_Tavi Data 28 martie 2018 22:19:10
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("nrtri.in");
ofstream fout("nrtri.out");
int n,i,j,nrsol,l[801];
int mijloc;
/*int caut_bin(int x,int st,int dr)
{
    mijloc=(st+dr)/2;
    if(x>=l[mijloc] && x<l[mijloc+1])
        return mijloc;
    if(x<l[mijloc])
        return caut_bin(x,st,mijloc-1);
    return caut_bin(x,mijloc+1,dr);
}*/
int caut_bin(int x,int st,int dr)
{
    if(st>dr) return -1;
    else {
        mijloc=(st+dr)/2;
        if(x==l[mijloc])
            return mijloc;
        if(x<l[mijloc])
            return caut_bin(x,st,mijloc-1);
        else return caut_bin(x,mijloc+1,dr);
    }
}

int main()
{
    fin>>n;
    for(i=1; i<=n; i++)
        fin>>l[i];
    sort(l+1,l+1+n);
    for(i=1;i<n-1;i++)
        for(j=i+1;j<n;j++)
            nrsol+=caut_bin(l[i]+l[j],1,n);
    fout<<nrsol;
    return 0;
}