Cod sursa(job #1618053)

Utilizator titusTitus A titus Data 27 februarie 2016 17:53:45
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
# include <fstream>
# include <algorithm>
# define NR 1005
using namespace std;
ifstream f("nrtri.in");
ofstream g("nrtri.out");
int i,j,n,m,ci,sol;
int a[NR];
int cb (int S, int ci)
{
    int cs=n, mij, sol=0;
    while (ci<=cs)
    {
        mij=(ci+cs)/2;
        if (S>=a[mij]) sol=mij, ci=mij+1;
                  else cs=mij-1;
    }
    return sol;
}
int main ()
{
    f>>n;
    for (i=1; i<=n; ++i)
       f>>a[i];
    sort (a+1, a+n+1);
 
    for (i=1; i<n-1; ++i)
       for (j=i+1; j<n; ++j)
       {
           ci=cb(a[i]+a[j], j+1);
           sol+=(ci-j+1);
       }
    g<<sol<<"\n";
    return 0;
}