Pagini recente » Cod sursa (job #2213332) | Cod sursa (job #421788) | Cod sursa (job #2293447) | Cod sursa (job #3041281) | Cod sursa (job #614050)
Cod sursa(job #614050)
#include<fstream>
#include<iostream>
using namespace std;
int main ()
{
long n,pos,i,j,q,p,s,v[801],aux,mij,poz;
ifstream f("nrtri.in");
ofstream g("nrtri.out");
f>>n;
for(i=1;i<=n;i++)
f>>v[i];
f.close();
for(i=1;i<=n-1;i++)
for(j=i+1;j<=n;j++)
if(v[i]>v[j]) {
aux=v[i];
v[i]=v[j];
v[j]=aux;
}
pos=0;
for(i=1;i<=n-2;i++)
for(j=i+1;j<=n-1;j++) {
s=v[i]+v[j];
p=j+1;
q=n;
poz=1;
while(p<=q) {
mij=(p+q)/2;
if(s<v[mij])
q=mij-1;
else if(s>v[mij]) {
p=mij+1;
poz=mij;
}
else {
poz=mij;
break;
}
}
if(poz!=1)
pos=pos+poz-j;
}
g<<pos;
g.close();
return 0;
}