Cod sursa(job #1746273)

Utilizator blackmanta45Andrei blackmanta45 Data 22 august 2016 23:32:48
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin ("nrtri.in");
ofstream fout ("nrtri.out");
int n,v[8010],sum,i,j,st,dr,mid,sol;
int main () {
    fin>>n;
    for(i=1;i<=n;i++)
        fin>>v[i];
    sort(v+1,v+n+1);
    for(i=1;i<=n-2;i++){
        for(j=i+1;j<=n-1;j++){
            st=j;
            dr=n;
            sum=v[i]+v[j];
            while(st<=dr){
                mid=(st+dr)/2;
                if(v[mid]<=sum)
                    st=mid+1;
                else
                    dr=mid-1;
            }
            if(j!=dr)
                sol++;
            //fout<<v[st]<<" "<<v[dr]<<"\n";
        }
    }
    fout<<sol;

}