Pagini recente » Cod sursa (job #1180166) | ONIS 2014, Clasament Runda 2 | Cod sursa (job #200224) | Cod sursa (job #491114) | Cod sursa (job #1771650)
#include <fstream>
using namespace std;
ifstream fin("nrtri.in");
ofstream fout("nrtri.out");
int i,n,m,j,s,v[1000],maxi,nr,aux;
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))
{
if(m!=i && m!=j)
fout<<v[i]<<" "<<v[j]<<" "<<v[m]<<'\n';
return 1;
return 0;
}
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()
{
fin>>n;
for(i=1;i<=n;i++)
fin>>v[i];
int ok;
do
{
ok=0;
for(i=1;i<n;i++)
if(v[i]>v[i+1])
{
aux=v[i];
v[i]=v[i+1];
v[i+1]=aux;
ok=1;
}
}while(ok==1);
for (i=1;i<n-1;++i)
for (j=i+1;j<n;++j){
if(i!=j)
if(cautare(1,n)==1)
nr++;
}
fout<<nr;
return 0;
}