Cod sursa(job #2243534)

Utilizator marcogoldPop Mihali Marco Silviu marcogold Data 20 septembrie 2018 20:01:22
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;


ifstream fi("nrtri.in");
ofstream fo("nrtri.out");


int n,a[1300],r,caut;

int CautBin(int x)
{
    int poz=0;


    for(int i=(1<<10); i>0; i/=2)
    {
        if(poz+i<=n && a[poz+i]<=x)
        {
            poz+=i;
        }
    }

    return poz;
}
int main()
{
    fi>>n;
    for(int i=1; i<=n; i++)
        fi>>a[i];

        sort(a+1,a+n+1);

    for(int i=1; i<n-1; i++)
        for(int j=i+1; j<n; j++)
        {

            caut=a[i]+a[j];
            r+=CautBin(caut)-j;

        }

        fo<<r;

    return 0;
}