Pagini recente » Cod sursa (job #1079953) | Cod sursa (job #2178672) | Cod sursa (job #1704778) | Cod sursa (job #458933) | Cod sursa (job #809701)
Cod sursa(job #809701)
#include <stdio.h>
int v[801];
void sortare(int n){
int pmin,aux,i,j;
for(i=0;i<n;i++){
pmin=i;
for(j=i+1;j<n;j++)
if(v[j]<v[pmin])
pmin=j;
if(pmin!=i){
aux=v[i];
v[i]=pmin;
v[pmin]=aux;
}
}
}
int main(){
int n,i,j,s,pas,k;
FILE *fin,*fout;
fin=fopen("nrtri.in","r");
fout=fopen("nrtri.out","w");
fscanf(fin,"%d",&n);
if(n==1||n==2)
fprintf(fout,"0");
else {
for(i=0;i<n;i++)
fscanf(fin,"%d",&v[i]);
sortare(n);
s=0;
for(i=0;i<n-2;i++){
for(j=i+1;j<n-1;j++){
pas=1<<9;
k=j+1;
while(pas!=0){
if(v[k]<=v[i]+v[j])
i+=pas;
pas/=2;
}
s+=k-j;
}
}
fprintf(fout,"%d",s);
}
return 0;
}