Cod sursa(job #467870)

Utilizator nickyyLal Daniel Emanuel nickyy Data 1 iulie 2010 01:28:13
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <stdio.h>
#define max 801
using namespace std;
int v[max];

int main(void)
{FILE *fin=fopen("nrtri.in","r");
 FILE *fout=fopen("nrtri.out","w");
 int n,i,ic,sf,nr=0,ok,aux;
 fscanf(fin,"%d",&n);
 for(i=0;i<n;i++) fscanf(fin,"%d",v+i);
 do
	{ok=1;
	 for(i=0;i<n-1;i++)
		if(v[i]>v[i+1])
			{ok=0; aux=v[i]; v[i]=v[i+1]; v[i+1]=aux;	}
	}while(!ok);
 for(i=n-1;i>1;i--)
	{ic=0; sf=i-1;
	 while(ic<sf)
		{for(;ic<sf && v[ic]<v[i]-v[sf];ic++);
		 if(ic<sf)nr+=(sf-ic);
		 sf--;
		}
	}
 fprintf(fout,"%d",nr);
 fclose(fin); fclose(fout);
 return 0;
}