Pagini recente » Cod sursa (job #421541) | Cod sursa (job #1393534) | Cod sursa (job #3234731) | Cod sursa (job #2658464) | Cod sursa (job #2939475)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("nrtri.in");
ofstream fout("nrtri.out");
int main()
{
int n, v[800], cnt=0, l, r, sol, mid;
fin >> n;
for(int i=0; i<n; i++) {
fin >> v[i];
}
sort(v, v+n);
for(int i=0; i<n-1; i++) {
for(int j=i+1; j<n; j++) {
sol=j;
l=j+1;
r=n-1;
while(l<=r) {
mid=(l+r)/2;
//cout << mid << endl;
if(v[mid]>v[i]+v[j]) {
r=mid-1;
} else {
//cout << v[i] << " " << v[j] << " " << sol << endl;
sol=mid;
l=mid+1;
}
}
//cout << " : " <<sol << endl;
cnt=cnt+sol-j;
//cout << cnt << sol <<endl;
}
}
fout << cnt;
return 0;
}