Pagini recente » Cod sursa (job #328395) | Cod sursa (job #1934361) | Cod sursa (job #2558561) | Cod sursa (job #456062) | Cod sursa (job #2326283)
#include <bits/stdc++.h>
#define Dim 804
using namespace std;
ifstream f("nrtri.in");
ofstream g("nrtri.out");
int N,V[Dim],maxim,ans;
int CB(int x)
{
int st=1,dr=N;
while(st<=dr)
{
int mij=(st+dr)/2;
if(V[mij]==x)
{
return mij;
break;
}else
if(x<V[mij]) dr=mij-1;
else
if(x>V[mij]) st=mij+1;
}
return st;
}
int main()
{
f>>N;
for(int i=1;i<=N;i++) f>>V[i];
sort(V+1,V+N+1);
for(int i=1;i<=N;i++)
for(int j=i+1;j<=N;j++)
{
maxim=max(V[j]-V[i],V[i]-V[j]);
int poz1=CB(V[i]+V[j]),poz2=CB(maxim);
while(V[poz2-1]==maxim) poz2--;
while(V[poz1+1]==V[i]+V[j]) poz1++;
//cout<<poz1<<" "<<poz2<<" "<<V[i]+V[j]<<" "<<maxim<<" "<<i<<" "<<j<<'\n';
}
g<<ans;
return 0;
}