Cod sursa(job #669430)

Utilizator repp4raduRadu-Andrei Szasz repp4radu Data 26 ianuarie 2012 22:39:19
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <cstdio>
#include <algorithm>

#define MAX 900

using namespace std;

int n;
int v[MAX];
int sol;

void citire()
{
    freopen("nrtri.in", "r", stdin);
    scanf("%d", &n);
    for(int i = 1; i <= n; i++)
    {
        scanf("%d", &v[i]);
    }
    fclose(stdin);
    sort(v + 1, v + n + 1);
}

void solve()
{
    int sw;
    for(int i = 1; i < n - 1; i++)
    {
        for(int j = i + 1; j < n; j++)
        {
            sw = 0;
            for(int k = j + 1; k <= n && !sw; k++)
            {
                if(v[i] + v[j] <= v[k])
                {
                    sol++;
                }
                else
                    sw = 1;
            }
        }
    }
}

void afisare()
{
    freopen("nrtri.out", "w", stdout);
    printf("%d", sol);
    fclose(stdout);
}

int main()
{
    citire();
    solve();
    afisare();
    return 0;
}