Pagini recente » Cod sursa (job #1521905) | Borderou de evaluare (job #1330961) | Cod sursa (job #54215) | Cod sursa (job #13365) | Cod sursa (job #600400)
Cod sursa(job #600400)
#include <cstdio>
#include <fstream>
#include <algorithm>
using namespace std;
int r,v[1024];
void srch (int f,int b,int x){
if(f==b){
if(v[f]<=x&&f>r)
r=f;
return;
}
int m=(f+b)>>1;
if(v[m]<=x){
if(m>r)
r=m;
srch(m+1,b,x);
}
else
srch(f,m,x);
}
int main ()
{
int n,s=0;
ifstream f ("nrtri.in");
freopen ("nrtri.out","w",stdout);
f>>n;
for(int i=1;i<=n;++i)
f>>v[i];
sort(v+1,v+n+1);
for(int i=1;i+1<n;++i)
for(int j=i+1;j<n;++j){
r=0;
srch(j+1,n,v[i]+v[j]);
if(r)
s+=(r-j);
}
printf("%d",s);
return 0;}