Cod sursa(job #1894155)

Utilizator dsergiu05Sergiu Druga dsergiu05 Data 26 februarie 2017 16:04:19
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <fstream>
#include <algorithm>

using namespace std;

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

const int nmax=800;
int v[nmax+1];

int main () {
    int n;
    fin>>n;

    for (int i=1; i<=n; i++) {
        fin>>v[i];
    }

    sort(v+1, v+n+1);

    int sol=0;
    for (int k=3; k<=n; k++) {
        int j=k;
        for (int i=1; i<=k-2; i++) {
            if (j<=i) {
                j=i+1;
            }
            while (j-1>i && v[i]+v[j-1]>=v[k]) {
                --j;
            }
            sol+=k-j;
        }
    }

    fout<<sol<<"\n";

    return 0;
}