Cod sursa(job #1207607)

Utilizator katakonst94Pirvu Constantin Catalin katakonst94 Data 13 iulie 2014 14:39:06
Problema Numarare triunghiuri Scor 75
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <iostream>
#include <fstream>
#include<algorithm>

using namespace std;
long long m,a[1000],mx;
int caut (int s,int d,int x,int i,int j)
{
    if(s>d)
        return 0;
    else
        {
            m =(s+d)/2;
            if (x>=a[m]&&m!=i&&m!=j){

                  mx=m;
                return caut(m+1,d,x,i,j);
            }
            if (x<a[m])
                return caut(s,m-1,x,i,j);
            else
                return caut(m+1,d,x,i,j);
        }
}
int main()
{
    ifstream f("nrtri.in");
    ofstream g("nrtri.out");
    int n;
f>>n;
    for(int i=1;i<=n;i++)
           f>>a[i];

           long long mn,man,i,k,j;
     sort(a+1,a+n+1);

k=0;
long long poz=0;
 for(int i=1;i<n;i++)
 for(int j=i+1;j<=n;j++){
        caut(1,n,a[i]+a[j],i,j);
          if(mx>j)
           poz+=mx-j;
 }
g<<poz;
    return 0;
}