Pagini recente » Cod sursa (job #980093) | Cod sursa (job #2930442) | Cod sursa (job #1869572) | Cod sursa (job #101729) | Cod sursa (job #3264178)
#include<bits/stdc++.h>
using namespace std;
ifstream fin("nrtri.in");
ofstream fout("nrtri.out");
int v[805];
int cb(int st, int dr, int suma)
{
int mij, z = 0;
while(st <= dr)
{
mij = (st+dr)/2;
if(v[mij] <= suma)
{
z = mij;
st = mij+1;
}
else
dr = mij-1;
}
return z;
}
int main()
{
int n, i, j, poz = 0, cntr = 0;
fin>> n;
for(i = 1; i <= n; i++)
fin>> v[i];
sort(v+1, v+n+1);
for(i = 1; i <= n-2; i++)
{
for(j = i+1; j <= n-1; j++)
{
poz = cb(j+1, n, v[i]+v[j]);
if(poz > 0)
cntr += poz - j;
}
}
fout<< cntr;
fin.close();
fout.close();
return 0;
}