Cod sursa(job #1888654)

Utilizator aditoma2001Toma Adrian aditoma2001 Data 22 februarie 2017 11:48:15
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <bits/stdc++.h>

using namespace std;

int caut_bin(vector <int> &a,int x)
{
    int i=0;
    for (int step=(1<<19); step > 0; step/=2)
    {
        if (i+step<a.size() && a[i+step] < x) {
            i+=step;
        }
    }
    return i;
}

int main()
{
    ifstream f("nrtri.in");
    ofstream g("nrtri.out");
    int n, m=0;
    f>>n;
    vector <int> a(n,0);
    for (int i = 1; i <= n; ++i) f>>a[i];
    sort (a.begin(),a.end());
    for (int i = 1; i <= n; ++i)
    {
        for (int j=i+1;j<=n;j++)
        {
            cout<<a[i]<<" "<<a[j]<<'\n';
            m+=caut_bin(a,a[i]+a[j]);
            m-=j;
            cout<<m<<endl;
        }
    }
    g<<m;
    return 0;
}