Cod sursa(job #355863)

Utilizator Cristy94Buleandra Cristian Cristy94 Data 12 octombrie 2009 14:07:01
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include<fstream.h>
ifstream f("nrtri.in");
ofstream g("nrtri.out");
int n,i,t,v[801],j,nr,x,y,p,u,m;
int main(){
f>>n;
for(i=1;i<=n;i++){f>>v[i];nr=i;
  while(v[nr]<v[nr-1]&&nr>0){
       t=v[nr];
       v[nr]=v[nr-1];
       v[nr-1]=t; nr--;}}
nr=0;
for(i=1;i<n;i++)
 for(j=i+1;j<=n;j++){
    x=v[i];y=v[j];
    p=j+1;u=n;
    while(p<=u){
       m=(p+u)/2;
       if(x+y<v[m])
	  u=m-1;
       else if(x+y>v[m])
	     p=m+1;
      else break;}
if(p<=u){
while(v[m]==v[m+1]&&m<n)
     m++;
nr=nr+m-j;}

else if(p-j>1)nr=nr+p-1-j;
}
g<<nr;
return 0;
}