Pagini recente » Cod sursa (job #2671131) | Cod sursa (job #1815759) | Cod sursa (job #2295592) | Cod sursa (job #711577) | Cod sursa (job #2482394)
#include <bits/stdc++.h>
using namespace std;
int a[1000], n, ans, l3;
int cautbin(int x){
int st = 0, dr = n-1;
int mid;
while(st <= dr){
mid = (st+dr)/2;
if(a[mid] <= x)
st = mid+1;
else dr = mid - 1;
}
return dr;
}
int main(){
ifstream cin("ntri.in");
ofstream cout("ntri.out");
cin>>n;
for(int i=0;i<n;i++)
cin>>a[i];
sort(a, a+n);
for(int i=0;i<n-2;i++){
for(int j=i+1;j<n-1;j++){
l3 = cautbin(a[i]+a[j]);
ans += l3 - j;
//cout<<a[i]<<' '<<a[j]<<' '<<a[l3]<<' '<<l3 - j<<'\n';
}
}
cout<<ans;
return 0;
}