Cod sursa(job #540708)
Utilizator | Data | 24 februarie 2011 11:55:46 | |
---|---|---|---|
Problema | Numarare triunghiuri | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.49 kb |
#include<stdio.h>
#include<algorithm>
using namespace std;
FILE *in,*out;
int i,n,v[800],j,k,nr;
int main()
{
in=fopen("nrtri.in","rt");
out=fopen("nrtri.out","wt");
fscanf(in,"%d",&n);
for(i=1;i<=n;i++)
fscanf(in,"%d",&v[i]);
sort(v+1,v+n+1);
for(i=1;i<=n-2;i++)
for(j=i+1;j<=n-1;j++)
{
k=j+1;
while((v[i]+v[j])>=v[k] && k<=n)
k++;
nr+=k-1-j;
}
fprintf(out,"%d",nr);
}