Cod sursa(job #984429)

Utilizator TarabanDragosTaraban Dragos-Petru TarabanDragos Data 14 august 2013 15:06:05
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<cstdio>
#include<algorithm>
using namespace std;
int n,i,j,nr,v[801],p,u,mid,nrt;
FILE *f,*g;
int main(){
    f=fopen("nrtri.in","r");
    g=fopen("nrtri.out","w");
    fscanf(f,"%d",&n);
    for(i=1;i<=n;i++){
        fscanf(f,"%d",&v[i]);
    }
    sort(v+1,v+1+n);
    nrt=0;
    for(i=1;i<=n;i++){
        for(j=i+1;j<=n;j++){
            nr=v[i]+v[j];
            p=j;
            u=n;
            while(p<=u){
                mid=(p+u)/2;
                if(nr>=v[mid])
                   p=mid+1;
                else{
                    u=mid-1;
                    break;
                }
            }
         nrt+=u-j;
        }
    }
    fprintf(g,"%d",nrt);
    fclose(f);
    fclose(g);
    return 0;
}