Cod sursa(job #2937285)

Utilizator DomnulMilandruMilandru Nicon-David DomnulMilandru Data 10 noiembrie 2022 10:06:40
Problema Numarare triunghiuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("nrtri.in");
ofstream cout("nrtri.out");
int main()
{
   long long n,a[1001],nr=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-2;i++)
     for(int j=i+1;j<=n-1;j++)
     {
         int suma=a[i]+a[j];
         int capatst=j+1;
         int capatdr=n;
         int mij;
         while(capatst<=capatdr)
         {
             mij=(capatst+capatdr)/2;
             if(a[mij]<=suma)
                 capatst=mij+1;
                else
                 capatdr=mij-1;
         }

         nr=nr+(capatst-j-1);
     }
     cout<<nr;
   return 0;
}