Pagini recente » Cod sursa (job #1784669) | Cod sursa (job #232928) | Cod sursa (job #2595388) | Cod sursa (job #1361338) | Cod sursa (job #1425165)
#include <fstream>
#include<algorithm>
using namespace std;
ifstream in("nrtri.in");
ofstream out("nrtri.out");
int main()
{
int n,v[100002],i,s=0,mij,st,dr,sum,j,maxx,flag=0;
in>>n;
for(i=1;i<=n;i++)
in>>v[i];
sort(v+1,v+n+1);
for(i=1;i<=n-1;i++)
for(j=i+1;j<=n-1;j++)
{
sum=v[i]+v[j];
st=j+1;
dr=n;
while(st<=dr&&flag==0)
{mij=(st+dr)/2;
if(sum<v[mij]) /// se afla in partea de jos
dr=mij-1;
if(sum>v[mij]) /// se afla in partea de sus
st=mij+1;
if(sum==v[mij]) {flag=1;}
if(mij==n) flag=1;
}
s+=mij-j-1;}
out<<s+1;
return 0;
}