Cod sursa(job #1521809)

Utilizator claudiu.gatinaFMI Claudiu Gatina claudiu.gatina Data 10 noiembrie 2015 21:01:26
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <iostream>
#include <fstream>

using namespace std;

int v[810], dif[30010];
int n;

fstream f("nrtri.in", ios::in);
fstream g("nrtri.out", ios::out);

int abs(int x)
{
    if(x >= 0)
        return x;
    return -x;
}

void citire()
{
    f>>n;

    for(int i = 0; i < n; ++i)
    {
        f>>v[i];
    }
}

void diferente()
{
    for(int i = 0; i < n - 1; ++i)
        for(int j = i + 1; j < n; ++j)
            ++dif[abs(v[i] - v[j])];

    for(int i = 1; i <= 30000; ++i)
        dif[i] += dif[i - 1];
}

void solve()
{
    int total = -n*(n-1);
    for(int i = 0; i < 100; ++i)
        total+= dif[v[i]];
    g<<total/3;
}

int main()
{
    citire();
    diferente();
    solve();

    return 0;
}