Cod sursa(job #1524572)

Utilizator ArchazeyBaltatu Andrei-Mircea Archazey Data 14 noiembrie 2015 11:29:23
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<bits/stdc++.h>
#define mp make_pair
#define PII pair<int,int>
#define fi first
#define se second
using namespace std;

ifstream fin("nrtri.in");
ofstream fout("nrtri.out");

const int NMAX=805;

int n,a[NMAX];
int sol;

int main()
{
    int i,j,top;
    fin>>n;
    for (i=1;i<=n;i++) fin>>a[i];
    sort(a+1,a+n+1);
    for (i=3;i<=n;i++)//cea mai mare latura
    {
        top=i;
        for (j=2;j<i;j++)
        {
            while (top>1 && a[i]<=(a[j]+a[top-1])) top--;
            if (top<j) sol+=j-top;
        }
    }

    fout<<sol<<"\n";
    return 0;
}