Cod sursa(job #2159131)

Utilizator robertrRotaru Stefan Robert robertr Data 10 martie 2018 19:23:50
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("nrtri.in");
ofstream g("nrtri.out");
int n, i,v[801],aux[799],st,dr,mij,s,sum;

int main()
{
  f>>n;
  for (i=1;i<=n;i++)
    f>>v[i];
  sort(v+1,v+n+1);
  for (i=1;i<=n-2;i++)
  {
    int s=v[i]+v[i+1];
    st=i+2;
    dr=n;
    mij=(st+dr)/2;
    while(st<dr)
    {
      if(v[mij]<=s)dr=mij-1;
      else if(v[mij]>s)st=mij+1;
      mij=(st+dr)/2;
    }
    sum+=st-(i+1);
  }
  g<<sum;
  return 0;
}