Cod sursa(job #1535340)
Utilizator | Pogonet Artiom Pogonet | Data | 24 noiembrie 2015 17:45:40 |
---|---|---|---|
Problema | Numarare triunghiuri | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.55 kb |
#include<fstream>
#include<algorithm>
using namespace std;
const int NMAX = 809;
ifstream f ("nrtri.in");
ofstream g ("nrtri.out");
int n,v[NMAX],nrtri;
int main ()
{
f >> n;
for (int i = 1; i <= n; ++i)
f >> v[i];
sort(v + 1, v + n + 1);
for (int i = 1; i <= n - 2; ++i)
for (int j = i + 1; j <= n - 1; ++j)
{
int sum = v[i] + v[j];
int k = j + 1;
while (sum >= v[k] && k <= n) nrtri++, ++k;
}
g << nrtri << '\n';
g.close ();
return 0;
}