Pagini recente » Rezultatele filtrării | Borderou de evaluare (job #2762549) | Rezultatele filtrării | Borderou de evaluare (job #2353467) | Cod sursa (job #629035)
Cod sursa(job #629035)
# include <cstdio>
# include <algorithm>
using namespace std;
int n, st,dr,mij,i,j,a,b;
int lg[900];
int sol=1;
int main ()
{
freopen ("nrtri.in","r",stdin);
freopen ("nrtri.out","w",stdout);
scanf ("%d",&n);
for (i=1;i<=n;i++)
{
scanf ("%d",&lg[i]);
}
sort(lg+1,lg+n+1);
for (i=1;i<n;i++)
for (j=i+1;j<n;j++)
{
//maximul
a=lg[i]+lg[j];
st=j+1; dr=n;
while (st<dr)
{
mij=(st+dr+1)/2;
if (lg[mij]>a)
dr=mij-1;
else st=mij;
}
if (st==dr)
{
a=dr;
}
else a=-1;
//minimul
if (a!=-1)
{
sol+=(a-j);
}
}
printf("%d\n",sol);
return 0;
}