Cod sursa(job #2522478)

Utilizator olivia.29Burca Olivia olivia.29 Data 12 ianuarie 2020 16:31:17
Problema Numarare triunghiuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>

using namespace std;
ifstream fin("nrtri.in");
ofstream fout("nrtri.out");
int main()
{
    int st,dr,n,m,v[801],k=0,s,p,aux;
    fin>>n;
    for(int i=1;i<=n;i++)
        fin>>v[i];
    for(int i=1;i<=n;i++)
      for(int j=i+1;j<=n;j++)
        if(v[i]>v[j])
      {
          aux=v[i];
          v[i]=v[j];
          v[j]=aux;
      }
    for(int i=1;i<=n;i++)
        for(int j=i+1;j<=n;j++)
    {
        p=0;
        s=v[i]+v[j];
        st=j; dr=n;
        while(st<=dr)
        {
            m=(st+dr)/2;
            if(s<v[m]) dr=m-1;
            else {st=m+1; p=m;}
        }
        if(p) k+=p-j;

    }
    fout<<k;



    return 0;
}