Cod sursa(job #1534729)
Utilizator | Mustea Iulia-Otilia iuliaotilia26 | Data | 23 noiembrie 2015 22:23:46 |
---|---|---|---|
Problema | Numarare triunghiuri | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.58 kb |
#include<fstream>
#include<algorithm>
using namespace std;
int main()
{
ifstream f("nrtri.in");
ofstream g("nrtri.out");
int v[800],n,i,j,stg,dr,mij,nr=0;
f>>n;
for(i=0;i<n;i++)f>>v[i];
sort(v,v+n);
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
{
stg=j;
dr=n;
while(dr-1>stg)
{mij=(stg+dr)/2;
if(v[mij]<=v[i]+v[j])
stg=mij;
else
dr=mij;
}
nr+=stg-j;
}
g<<nr;
f.close();
g.close();
return 0;
}