Cod sursa(job #1991347)

Utilizator humastefan19Huma Stefan humastefan19 Data 16 iunie 2017 13:21:18
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <iostream>

#include<algorithm>

#include<fstream>

using namespace std;

int v[1000],n;

int caut(int x)
{
    int r=0, p=1<<16;
    while(p!=0)
    {
        if(r+p<=n && v[r+p]<=x)
        {
            r+=p;
        }
        p=p/2;
    }
    return r;
}

int main()
{
    int  i, j, k, s=0;
    ifstream cin("nrtri.in");
    ofstream cout("nrtri.out");
    cin>>n;
    for(i=1;i<=n;i++)
    {
        cin>>v[i];
    }
    sort(v+1,v+n+1);
    for(i=1;i<=n;i++)
        for(j=i+1;j<=n-1;j++)
        {
            k = caut(v[i] + v[j]);
            s += k - j;
        }
    cout<<s;
    return 0;
}