Pagini recente » Cod sursa (job #1097109) | Cod sursa (job #3258265) | Cod sursa (job #3292569) | Cod sursa (job #1685422) | Cod sursa (job #629033)
Cod sursa(job #629033)
#include<stdio.h>
#include<algorithm>
#include<vector>
using namespace std;
int n;
FILE *fin,*fout;
int v[800];
void citire()
{
int x;
fin=fopen("nrtri.in","r");
fscanf(fin,"%d\n",&n);
for(int i=1;i<=n;i++)
{
fscanf(fin,"%d ",&x);
v[i]=x;
}
sort(v+1,v+n+1);
}
int cautare(int li,int ls,int val)
{
int m,sol=0,p=li;
printf("%d %d %d\n",v[li],v[ls],val);
while(li<=ls)
{
m=li+(ls-li)/2;
if(v[m]<=val)
{
li=m+1;
sol=m;
}
else
{
ls=m-1;
}
}
if(sol!=0)
sol=sol-p+1;
printf("%d\n",sol);
return sol;
}
void afisare(int sol)
{
fout=fopen("nrtri.out","w");
fprintf(fout,"%d",sol);
}
void parcurgere()
{
int i,j,nr=0;
for(i=1;i<=n;i++)
{
// printf("%d\n",v[i]);
for(j=i+1;j<=n;j++)
{
nr+=cautare(j+1,n,v[i]+v[j]);
}
}
afisare(nr);
}
int main()
{
citire();
parcurgere();
return 0;
}