Pagini recente » Cod sursa (job #2220135) | Cod sursa (job #2516239) | Cod sursa (job #1898207) | Cod sursa (job #1135523) | Cod sursa (job #311575)
Cod sursa(job #311575)
#include <stdio.h>
#include <algorithm>
using namespace std;
FILE *f,*s;
long int n,i,j,v[1000],st,dr,mj,rez;
int main()
{
f=fopen("nrtri.in","r");
s=fopen("nrtri.out","w");
fscanf(f,"%ld\n",&n);
for(i=0;i<n;i++)
fscanf(f,"%ld ",&v[i]);
sort(v,v+n);
for(i=0;i<=n/2;i++)
{
for(j=i+1;j<n;j++)
{
st=j+1;
dr=n-1;
while(st<=dr)
{
mj=(st+dr)/2;
if((v[i]+v[j]>v[mj]&&v[i]+v[mj]>v[j]&&v[j]+v[mj]>v[i])||v[i]+v[j]==v[mj]||v[i]+v[mj]==v[j]||v[j]+v[mj]==v[i])
rez++;
else
{
if(v[i]+v[j]<v[mj])
st=mj+1;
else
dr=mj-1;
}
}
}
}
fprintf(s,"%ld",rez);
fclose(s);
return 0;
}