Pagini recente » Cod sursa (job #513711) | Cod sursa (job #1158201) | Cod sursa (job #2503804) | Cod sursa (job #539321) | Cod sursa (job #1928078)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("nrtri.in"); ofstream g("nrtri.out");
int n,a[1000],i,j,nr;
int cautbin(int x) {
int st = j+1,dr = n,mij,last = j;
while(st <= dr) {
mij = st + (dr - st) / 2;
if(x >= a[mij] && a[mij] + a[i] >= a[j]) {
last = mij;
st = mij + 1;
}
if(x < a[mij]) {
dr = mij - 1;
}
}
last -= j;
return last;
}
int main() {
f>>n;
for(i = 1; i <= n; ++i) {
f>>a[i];
}
sort(a+1,a+n+1);
nr=0;
for(i = 1; i <= n-2; ++i) {
for(j = i+1; j <= n-1; ++j) {
nr += cautbin(a[i] + a[j]);
}
}
g<<nr;
return 0;
}