Cod sursa(job #203663)
Utilizator | MciprianM MciprianM | Data | 18 august 2008 12:37:46 |
---|---|---|---|
Problema | Numarare triunghiuri | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.5 kb |
#include<fstream>
#include<algorithm>
using namespace std;
int a[1025], n;
int bsearch2(int st, int dr, int val) {
int i;
for(i=st;i<=dr;i++)
if(a[i]>=val)
return i;
return n;
}
int main(){
int i, nrtri=0,j;
ifstream f("nrtri.in");
f>>n;
for(i=0;i<n;i++)
f>>a[i];
f.close();
sort(a, a+n);
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
nrtri+=(bsearch2(j,n-1,a[i]+a[j])-j-1);
ofstream g("nrtri.out");
g<<nrtri<<'\n';
g.close();
return 0;
}