Pagini recente » Cod sursa (job #614749) | Cod sursa (job #2018498) | Cod sursa (job #1736686) | Cod sursa (job #1233736) | Cod sursa (job #461391)
Cod sursa(job #461391)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin; ofstream fout;
int a[810],i,j,k,n; long N;
int srch (int x,int y,long z) {
if (x==y) return x; else
if (x<y) {
int m=(x+y)/2;
if (a[m]<=z) return srch (m+1,y,z); else return srch (x,m,z);
}
}
int main () {
fin.open ("nrtri.in"); fout.open ("nrtri.out");
fin>>n;
for (i=0; i<n; i++) fin>>a[i];
sort (a,a+n);
srch (2,19,3);
for (i=0; i<n-2; i++)
for (j=i+1; j<n-1; j++) {
k=srch (j+1,n-1,a[i]+a[j]);
if (a[i]+a[j]<a[k]) k--;
N+=(k-j);
}
fout<<N<<endl;
fin.close (); fout.close ();
return 0;
}