Cod sursa(job #1394449)

Utilizator rexlcdTenea Mihai rexlcd Data 20 martie 2015 12:24:09
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;

int n,i,val,fin,v[802],j;


int cb(int x)
{
    int st=1,dr=n,m,p=0;
    while(st<=dr)
    {
        m=(st+dr)/2;
        if(v[m]<=x)
        {
            p=m;
            st=m+1;
        }
        else
            dr=m-1;
    }
    return p;
}


int main()
{
    ifstream f("nrtri.in");
    ofstream g("nrtri.out");
    f>>n;
    for(i=1;i<=n;i++)
        f>>v[i];
    sort(v+1,v+n+1);
    for(i=1;i<=n-1;i++)
        for(j=i+1;j<=n;j++)
        {
            val=cb(v[i]+v[j]);
            fin+=(val-j);
        }
    g<<fin<<'\n';
    f.close();
    g.close();
    return 0;
}