Pagini recente » Cod sursa (job #1776882) | Cod sursa (job #1768319) | Cod sursa (job #1576110) | Cod sursa (job #1776697) | Cod sursa (job #2162171)
#include <bits/stdc++.h>
std::ifstream f("nrtri.in");
std::ofstream g("nrtri.out");
using namespace std;
int n, a[805],st,dr,x,y,mij,nr;
int val;
int cautbin(int val)
{
int st=1, dr=n, mij, poz=0;
while (st<=dr)
{
mij=(st+dr)/2;
if (a[mij]<val)
st=mij+1;
else
dr=mij-1;
}
return (st+dr)/2;
}
int main()
{
f >> n;
for (int i=1; i<=n; i++)
f >> a[i];
sort(a+1,a+1+n);
for (int i=1; i<=n-2; i++)
{
for (int j=i+2; j<=n; j++)
{
val=a[j]-a[i];
nr+=j-i-cautbin(val);
}
}
g << nr;
return 0;
}