Pagini recente » Cod sursa (job #1881461) | Cod sursa (job #557821) | Cod sursa (job #1753628) | Cod sursa (job #816473) | Cod sursa (job #654115)
Cod sursa(job #654115)
#include <fstream>
#include <algorithm>
int i,j,n,a[805],s;
using namespace std;
ifstream f("nrtri.in");
ofstream g("nrtri.out");
int bs(int x )
{
int st=1,dr=n,m=0;
while (st<=dr) {
m=(st+dr)/2;
if (x<=m) dr=m;
else st=m+1;
}
if (a[m]>x) return m-1; else return m;
}
int main()
{
f>>n;
for(i=1; i<=n; i++) f>>a[i];
sort(a+1,a+n+1);
for(i=1; i<=n-2; i++)
for(j=i+1; j<=n-1; j++)
s+=max(0,bs(a[i]+a[j])-j);
g<<s;
f.close();
g.close();
return 0;
}