Cod sursa(job #642173)

Utilizator ZexonAvramita Teodor Zexon Data 30 noiembrie 2011 17:19:52
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <iostream>
# include <fstream>
# include <cstdio>
# include <algorithm>
using namespace std;
ifstream in("nrtri.in");
ofstream out("nrtri.out");
int n;
 int v[800];
int cauta(int x)
{
    int i,pas = 1<<10;
    for(i =0; pas!=0;pas/=2)
        if(i+pas<n && v[i+pas] <= x)
            i+= pas;
    return i;
}

int main()
{

    in>>n;

    int nr;
    int rez =0;
    for(int i = 0; i<n;i++)
        in>>v[i];
    sort(v,v+n);
    int k;
    for(int i= 0;i<n-2;i++)
        {
        k=i+2;
        for(int j=i+1;j<n-1;j++)
            {
                while(k<n && v[k]<=v[i]+v[j])
                k++;
                //nr = cauta(v[i]+v[f]);
                //rez += nr-f;
                rez+= k-j-1;
            }
        }
     out<<rez;
    return 0;
}