Pagini recente » Cod sursa (job #2375161) | Cod sursa (job #57003) | Cod sursa (job #865373) | Cod sursa (job #2439529) | Cod sursa (job #1499385)
#include<stdio.h>
#include<algorithm>
using namespace std;
FILE *fin,*fout;
int n,number;
bool triangle(int a,int b,int c)
{
return a+b>=c;
}
int main()
{
fin=fopen("nrtri.in","r");
fout=fopen("nrtri.out","w");
fscanf(fin,"%d",&n);
int v[n+1];
for(int i=0;i<n;i++) fscanf(fin,"%d",&v[i]);
sort(v,v+n);
for(int i=0;i<n-1;i++)
for(int j=i+1;j<n;j++)
{
int start=i,end=j,pas=1<<30;
while(pas>0)
{
pas/=2;
if(start+pas>=end) continue;
if(triangle(v[start],v[start+pas],v[end]))
{
number+=pas;
start+=pas;
}
}
}
fprintf(fout,"%d",number);
}