Pagini recente » Cod sursa (job #3291117) | Cod sursa (job #1311356) | Cod sursa (job #2598665) | Cod sursa (job #1822674) | Cod sursa (job #1059496)
#include <cstdio>
using namespace std;
const int Nmax = 801;
int main() {
int n, x, i, j, st, dr, m;
int v[Nmax];
freopen("nrtri.in", "r", stdin);
freopen("nrtri.out", "w", stdout);
scanf("%d", &n);
for (i = 1; i <= n; ++i) {
scanf("%d", &x);
for (j = i-1; x < v[j] && j > 0; --j) {
v[j+1] = v[j];
}
v[j+1] = x;
}
for (x = 0, i = 1; i <= n-2; ++i) {
for (j = i+1; j <= n=1; ++j) {
st = j+1;
dr = n;
while (dr >= st) {
m = (st+dr)/2;
if (v[i]+v[j] >= v[m]) {
++x;
st = m+1;
} else {
dr = m-1;
}
}
}
}
printf("%d\n", x);
return 0;
}