Pagini recente » Cod sursa (job #469856) | Cod sursa (job #1774751) | Cod sursa (job #288468) | Monitorul de evaluare | Cod sursa (job #361479)
Cod sursa(job #361479)
# include <fstream.h>
ifstream f("nrtri.in");
ofstream g("nrtri.out");
int n,i,v[801],aux,j,nr,m,p,u,s;
int main (){
f>>n;
for (i=1;i<=n;i++)
f>>v[i];
for (i=1;i<n;i++)
for (j=i+1;j<=n;j++)
if (v[i]>=v[j]){
aux=v[i];
v[i]=v[j];
v[j]=aux;}
nr=0;
for (i=1;i<n-1;i++)
for ( j=i+1;j<n;j++){
p=j+1;
u=n;
s=v[i]+v[j];
while (p<=u){
m=(u+p)/2;
if (s==v[m])
break;
else if (s>v[m])
p=m+1;
else u=m-1; }
if(p<=u){
while(v[m]==s&&m<=n) m++;
nr+=(m-1-j);
}
else
nr+=p-1-j;
}
g<<nr;
return 0;}