Pagini recente » Cod sursa (job #1248057) | Cod sursa (job #2487665) | Cod sursa (job #24170) | Cod sursa (job #192772) | Cod sursa (job #1360366)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("nrtri.in");
ofstream g("nrtri.out");
int n,a[1001];
void citire()
{
int i;
f>>n;
for(i=1;i<=n;i++)
f>>a[i];
sort(a+1,a+n+1);
}
int cauta(int inc,int sf,int k)
{
int m;
while(inc<=sf)
{
m=(inc+sf)/2;
if(k==a[m])
return m;
if(k>a[m])
inc=m+1;
else
sf=m-1;
}
return sf;
}
void solve()
{
int i,j,sol=0,poz;
for(i=1;i<n-1;i++)
for(j=i+1;j<n;j++)
{
poz=cauta(j+1,n,a[i]+a[j]);
sol+=poz-j;
}
g<<sol<<'\n';
}
int main(){
citire();
solve();
return 0;
}