Pagini recente » Cod sursa (job #2101634) | Cod sursa (job #1219874) | Cod sursa (job #140935) | Cod sursa (job #586750) | Cod sursa (job #1521906)
#include <iostream>
#include <fstream>
using namespace std;
int v[810], dif[60010];
int n, total;
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])];
--dif[v[i] + v[j] + 1];
total = total - (2*v[i] >= v[j]) - (2*v[j] >= v[i]);
}
for(int i = 1; i <= 30000; ++i)
dif[i] += dif[i - 1];
}
void solve()
{
for(int i = 0; i < n; ++i)
total+= dif[v[i]];
g<<total/3;
}
int main()
{
citire();
diferente();
solve();
return 0;
}