Pagini recente » Cod sursa (job #335752) | Cod sursa (job #2731321) | Cod sursa (job #2538821) | Cod sursa (job #676725) | Cod sursa (job #1149800)
#include <cstdio>
#include <algorithm>
using namespace std;
int v[880];
int main()
{
freopen("nrtri.in","r",stdin);
freopen("nrtri.out","w",stdout);
int n, nr = 0;
scanf("%d",&n);
for(int i = 1; i <= n; ++i) scanf("%d",&v[i]);
sort(v + 1, v + n + 1);
for(int i = 1; i <= n - 2; ++i)
for(int j = i + 1; j <= n - 1; ++j){
int st = j + 1, dr = n;
int ans = j;
while(st <= dr){
int mij = (st + dr)/2;
if(v[mij] <= v[i] + v[j]){
ans = mij;
st = mij + 1;
}
else dr = mij - 1;
}
nr = nr + ans - j;
}
printf("%d\n",nr);
return 0;
}