Cod sursa(job #1522803)
Utilizator | Dumitru Robert drobert | Data | 11 noiembrie 2015 23:15:09 |
---|---|---|---|
Problema | Numarare triunghiuri | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.52 kb |
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("nrtri.in");
ofstream g("nrtri.out");
int n, s, v[1000], rez;
int main()
{
int i, j, k;
f>>n;
for (i = 1;i <= n;i++)
f>>v[i];
sort(v + 1, v + n + 1);
for (i = 1;i <= n - 2;i++)
{
k = 1;
for (j = i + 1;j <= n - 1;j++)
{
s = v[i] + v[j];
k = max(k, j);
for (;k < n && v[k + 1] <= s;k++);
rez += k - j;
}
}
g<<rez;
}