Cod sursa(job #1338131)

Utilizator metrix007Lungu Ioan Adrian metrix007 Data 9 februarie 2015 20:21:01
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
int a[801];
int n,s=0;
int bin(int x,int st)
{
    int i,step;
    for(step=1;step<n; step<<=1);
    for(i=st;step;step>>=1)
    {
        if(i+step<n && a[i+step]<=x)
            i=step+i;
    }
    return i;
}



int main()
{
    ifstream in("nrtri.in");
    ofstream out("nrtri.out");

    in >> n;
    for(int i=0;i<n;i++)
        in >> a[i];
    sort(a,a+n);
    for(int i=0;i<n-1;i++)
        for(int j=i+1;j<n;j++)
            if(bin(a[i]+a[j],j)-j!=0)
                s=s+bin(a[i]+a[j],j+1)-j;
    out << s;
    return 0;
}