Pagini recente » Borderou de evaluare (job #1570370) | Borderou de evaluare (job #2081572) | Cod sursa (job #916758) | Borderou de evaluare (job #1177229) | Cod sursa (job #3165173)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin ("nrtri.in");
ofstream cout ("nrtri.out");
int v[805];
int cautarebinaraa(int s, int n, int start){
int st=start+1,dr=n,res=-1;
while(st<=dr){
int mij=(st+dr)/2;
if(v[mij]<=s){
res=mij;
st=mij+1;
}
else
dr=mij-1;
}
if(res==-1)
return 0;
return res-start;
}
int main()
{
int n,cnt=0;
cin>>n;
for(int i=1;i<=n;i++)
cin>>v[i];
sort(v+1,v+n+1);
for(int i=1;i<n;i++)
for(int j=i+1;j<=n;j++){
cnt+=cautarebinaraa(v[i]+v[j],n,j);
}
cout<<cnt;
return 0;
}