Cod sursa(job #414883)

Utilizator mihaipopa12Popa Mihai mihaipopa12 Data 10 martie 2010 17:45:36
Problema Numarare triunghiuri Scor 65
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<stdio.h>
#include<algorithm>
#include<string.h>
using namespace std;
FILE*f=fopen("nrtri.in","r");
FILE*g=fopen("nrtri.out","w");
int n,v[801],w[801],i,j,u,p,m,s,nr;
int main () {
	fscanf(f,"%d",&n);
	for(i=1;i<=n;i++)
		fscanf(f,"%d",&v[i]);
	for(i=1;i<n;i++){
		for(j=i+1;j<=n;j++){
			s=v[i]+v[j];
			memcpy(w,v,sizeof(v));
			w[i]=0;
			w[j]=0;
			sort (w+1,w+n+1);
			p=3; u=n;
			while(p<=u){
				m=u-(u-p)/2;
				if(s>=w[m])
					p=m+1;
				else
					u=m-1;
			}
			//pozitia ramane in u
			nr+=(u-j);
			
		}
	}
	fprintf(g,"%d",nr);
	
	fclose(f);
	fclose(g);
	return 0;
}