Cod sursa(job #2283886)
| Utilizator | Data | 15 noiembrie 2018 23:26:01 | |
|---|---|---|---|
| Problema | Numarare triunghiuri | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.49 kb |
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
int main()
{
ifstream fin("nrtri.in");ofstream fout("nrtri.out");
int n,v[810],i,j,a,k,m=0;
cin>>n;
for(i=1;i<=n;i++) cin>>v[i];
sort(v+1,v+n+1);
for(i=1;i<n-1;i++) for(j=i+1;j<n;j++)
{
k=j,a=n;
while(a>1)
{
a=a/2;
if(v[k+a]<v[i]+v[j]) k=k+a;
}
m=m+k-j; //cout<<m<<" ";
}
cout<<m;
return 0;
}
