Cod sursa(job #3324457)

Utilizator Mihai804kral mihai Mihai804 Data 22 noiembrie 2025 10:56:34
Problema Numarare triunghiuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <fstream>
#include<algorithm>
using namespace std;
ifstream f("nrtri.in");
ofstream g("nrtri.out");
int x,i,j,k,n,t,nrsol,s,p,a[1000];

int cauta_bin(int x)//returneaza pozitia primului element
{                    //mai mare ca x 
    int st,dr,mij;
    st=1;dr=n;
    while(st<=dr){
      mij=(st+dr)/2;
      if(a[mij]<=x)st=mij+1;
      else dr=mij-1;
    }
    return st;
}
int main()
{
    f>>n;
    for(i=1;i<=n;i++)f>>a[i];
    sort(a+1,a+n+1);
    for(i=1;i<=n-2;i++)
      for(j=i+1;j<=n-1;j++){
          s=a[i]+a[j];
          p=cauta_bin(s);
          nrsol+=p-j-1;   //p-j-1 este numarul de solutii
      }                   //pentru perechea a[i] si a[j]
    g<<nrsol<<'\n';
    g.close();

    return 0;
}