Cod sursa(job #2437304)

Utilizator RalucaGrigoreGrigore Raluca RalucaGrigore Data 9 iulie 2019 11:38:59
Problema Numarare triunghiuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <bits/stdc++.h>

using namespace std;
ifstream in("nrtri.in");
ofstream out("nrtri.out");
int v[805];
void ordonare(int n,int v[])
{
    int aux;
    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;
    }
}

int main()
{
    int n,i,t,nr=0,msk,poz,s=0,j,lat;
    in>>n;
    for(t=1;t<=n;t++)
    {
        in>>v[t];
    }
    ordonare(n,v);
    for(i=1;i<n-1;i++)
    {
        for(j=i+1;j<n;j++)
    {
       lat=v[i]+v[j];
       poz=0;
       for(msk=1<<30;msk>0;msk=msk/2)
            if(poz+msk<=n&&v[poz+msk]<=lat)
            poz=poz+msk;
       if(poz>0)
        s=s+(poz-j);
    }
    }
    out<<s;



    return 0;
}