Cod sursa(job #2436806)

Utilizator GheteaMihaiGhetea Mihai GheteaMihai Data 7 iulie 2019 12:46:58
Problema Numarare triunghiuri Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
#include <algorithm>

using namespace std;

ifstream cin("nrtri.in");
ofstream cout("nrtri.out");

int n;
struct abc
{
    int k;
    short ok;
} v[801];
int poz,s;
int cnt;
void cautbin(int i)
{
    poz=0, s=v[i].k + v[i-1].k;
    for(int msk=1<<30; msk>0; msk/=2)
    {
        if(poz+msk<=n && v[poz+msk].k>s)
            poz+=msk;
    }
    if(poz!=0) cnt++;
}
bool cmp(abc a, abc b)
{
    return a.k < b.k;
}
int main()
{
    cin>>n;
    for(int i=1; i<=n; i++)
        cin>>v[i].k;
    sort(v + 1, v + n + 1,cmp);
    for(int i=1; i<n; i++)
    {
        int c = v[i].k;
        int b = v[i+1].k;
        cautbin(i);
    }
    cout<<cnt;
    return 0;
}