Cod sursa(job #2928837)

Utilizator EasyTnsEasyTns EasyTns Data 23 octombrie 2022 22:43:14
Problema Numarare triunghiuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.51 kb
#include<fstream>
#include<algorithm>
//#include<iostream>
using namespace std;
ifstream cin("nrtri.in");
ofstream cout("nrtri.out");
int a[900];
int cautare(int st,int n,int val)
{
  int i=0,step;
  for(step=1;step<=n;step<<=1);
  for(i=st-1;step;step>>=1)
  {
      if(i+step<=n&&a[i+step]<=val)
      {i+=step;}

  }


return i;

}
int main()
{
int n,cnt=0;
cin>>n;
for(int i=1;i<=n;i++)
    cin>>a[i];
sort(a+1,a+n+1);
for(int i=1;i<n-1;i++)
{
for(int j=i+1;j<n;j++)
    cnt=cnt+cautare(j+1,n,a[i]+a[j])-j;
}
cout<<cnt;
}