Cod sursa(job #1372937)

Utilizator AndreiMedarMedar Andrei AndreiMedar Data 4 martie 2015 15:54:30
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
int v[801],n;

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

int main()
{
    ifstream f("nrtri.in");
    ofstream g("nrtri.out");
    int k=0,a;
    f>>n;
    for(int i=1;i<=n;i++)
    f>>v[i];
    sort(v+1,v+n+1);
    for(int i=1;i<n-1;i++)
    for(int j=i+1;j<n;j++)
    {
    a=b(v[i]+v[j]);
    if(a>j)
    k+=(a-j);
    }
    g<<k;
    return 0;
}