Pagini recente » Cod sursa (job #1602223) | Cod sursa (job #2291913) | Cod sursa (job #3236267) | Borderou de evaluare (job #2051287) | Cod sursa (job #413396)
Cod sursa(job #413396)
#include <fstream>
using namespace std;
int N,v[801];
FILE *f=fopen("nrtri.in","r");
FILE *g=fopen("nrtri.out","w");
inline int max(int a,int b)
{
if (a>b) return a;
else return b;
}
void solve()
{
int i,j,k,rez=0;
fscanf(f,"%d\n",&N);
for (i=1;i<=N;i++) fscanf(f,"%d",&v[i]);
sort(v + 1,v + N + 1);
for (i=1;i<=N-1;i++)
{
k=0;
for (j=i + 1;j<=N;j++)
{
for (k = max (k-1, j + 1); k <= N && v[i] + v[j] >= v[k]; ++k);
if ( v[i] + v[j] >= v[j+1]) rez += k - j - 1;
}
}
fprintf(g,"%d",rez);
}
int main()
{
solve();
return 0;
}