Pagini recente » Cod sursa (job #3363652) | Cod sursa (job #3362035) | Cod sursa (job #3363450) | Cod sursa (job #3363631) | Cod sursa (job #3363798)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
const int NMAX=800;
int c[NMAX + 1];
ifstream fin("nrtri.in");
ofstream fout("nrtri.out");
int n;
int sumfind(int x){
int mij, st=1, dr=n+1;
while (st<dr-1){
mij=(st+dr)/2;
if(c[mij]>x){
dr=mij;
}
else{
st=mij;
}
}
return st;
}
int main()
{
int i, j, sum, sumt=0;
fin >> n;
for (i=1;i<=n;i++){
fin >> c[i];
}
sort (c+1,c+n+1);
for (i=1;i<n-1;i++){
for (j=i+1;j<n;j++){
sum=(sumfind(c[i]+c[j]))-j;
sumt= sumt + sum;
// fout << sumt+sum << " ";
}
}
fout << sumt;
}