Pagini recente » Cod sursa (job #291972) | Cod sursa (job #2351115) | Cod sursa (job #1385516) | Cod sursa (job #1091778) | Cod sursa (job #2923654)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("nrtri.in");
ofstream fout ("nrtri.out");
const int NM = 1e3 + 5;
long long sum = 0;
int n, a[NM];
int main(){
fin >> n;
for (int i = 1; i <= n; i++){
fin >> a[i];
}
sort(a + 1, a + n + 1);
for (int i = 1; i <= n; i++){
for (int j = i + 1; j <= n; j++){
int l = j + 1, r = n, ans = j;
while (l <= r){
int mid = (l + r) / 2;
if (a[i] + a[j] >= a[mid]){
ans = max(ans, mid);
l = mid + 1;
}
else{
r = mid - 1;
}
}
sum += ans - j;
}
}
fout << sum;
}