Cod sursa(job #1521514)
| Utilizator | Data | 10 noiembrie 2015 16:33:54 | |
|---|---|---|---|
| Problema | Numarare triunghiuri | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.51 kb |
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream f("nrtri.in");
ofstream g("nrtri.out");
bool verific(int a,int b,int c){
if(a+b>=c&&a+c>=b&&b+c>=a)
return true;
return false;
}
int main()
{int n,x;;
f>>n;
vector<int> v;
for(int i=1;i<=n;++i){
f>>x;
v.push_back(x);
}
sort(v.begin(),v.end());
int nr=0;
for(int i=0;i<n-2;++i)
for(int j=i+1;j<n-1;++j){
int k=j+1;
while(v[i]+v[j]>=v[k]&&k<=n)
++k;
nr+=k-j-1;
}
g<<nr;
return 0;
}
