Cod sursa(job #1989200)

Utilizator rambocataAlbert Catalin rambocata Data 6 iunie 2017 15:38:52
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<iostream>
#include<fstream>
using namespace std;
ifstream fin ("nrtri.in");
ofstream fout("nrtri.out");
int n,m,i,a[100001],b,c,p,u,mid,ok,j,aux,s;
int main(){
    fin>>n;
    for(i=1;i<=n;i++)
        fin>>a[i];
    for(i=1;i<=n;i++)
        for(j=i+1;j<=n;j++)
            if(a[i]>a[j]){
                aux=a[i];
                a[i]=a[j];
                a[j]=aux;
            }

    for(i=1;i<=n-2;i++)
        for(j=i+1;j<=n-1;j++){
            p=j+1;
            u=n;
            while(p<=u){
                mid=(u+p)/2;
                if(a[mid]>a[i]+a[j])
                    u=mid-1;
                else
                    p=mid+1;
            }
            s=s+u-j;
        }
        fout<<s;

}