Pagini recente » Cod sursa (job #2779095) | Cod sursa (job #1416062) | Cod sursa (job #1824541) | Cod sursa (job #2049337) | Cod sursa (job #307909)
Cod sursa(job #307909)
#include<fstream.h>
int st,dr,mij,y,aux,j,nr,i,n,n1,k,v[3001];
int cautare(int p, int u)
{
int m;
m=(p+u)/2;
while (p<=u){
if ((v[m]<=v[i]+v[j] && v[m+1]>v[i]+v[j]) || (v[m]<=v[i]+v[j] && m==n-1))
return m;
else if (v[m]<=v[i]+v[j] && v[m+1]<=v[i]+v[j]) {
p=m+1;
m=(p+u)/2;
}
else {
u=m-1;
m=(p+u)/2;
}
}
return 0;
}
int main()
{
ifstream f("nrtri.in");
ofstream g("nrtri.out");
f>>n;
for (i=1;i<=n;i++)
f>>v[i];
n1=n;
do
{
k=0;
for (i=1;i<=n1-1;i++)
if (v[i]>v[i+1])
{
aux=v[i];
v[i]=v[i+1];
v[i+1]=aux;
k=i;
}
n1=k;
}
while (k>1);
for (i=1;i<n-1;i++)
for (j=1;j<=n;j++)
nr=cautare(1,n);
nr--;
g<<nr<<'\n';
g.close();
return 0;
}