Pagini recente » Cod sursa (job #3240365) | Monitorul de evaluare | Rating Bordi Eszter (Eszti) | Cod sursa (job #3171542) | Cod sursa (job #39981)
Cod sursa(job #39981)
#include <stdio.h>
#include <vector>
#include <algorithm>
using namespace std;
long x[801];
long n;
long nt=0;
int bs(int val)
{
int i, step;
for (step = 1; step < n; step <<= 1);
for (i = 0; step; step >>= 1)
if (i + step < n && x[i + step] <= val)
i+= step;
return i;
}
void cit()
{
long i;
FILE *f=fopen("nrtri.in","r");
fscanf(f,"%d",&n);
for(i=0;i<n;i++)
fscanf(f,"%d",&x[i]);
fclose(f);
}
void rez()
{
long i,j,k;
for(i=n-1;i>1;i--)
for(j=i-1;j>0;j--)
{
k=bs(x[i]-x[j]);
if(k>=j)j=0;
else nt+=(k+1);
}
}
void tip()
{
FILE *f;
f=fopen("nrtri.out","w");
fprintf(f,"%d\n",nt);
fclose(f);
}
int main()
{
cit();
sort(x,x+n);
rez();
tip();
return 0;
}