Cod sursa(job #762124)

Utilizator ioana26Ioana Andronescu ioana26 Data 28 iunie 2012 19:06:40
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <stdio.h>
#include <iostream>
#include <algorithm>

using namespace std;

#define MAX     800

int betisoare[MAX];
int numara;

void caut (int start, int stop, int val) {
    while (start <= stop) {
        if (betisoare[start] <= val)  
            numara++;
        else 
            break;
        start++;
    }
}

int main () {
    FILE *f_in = fopen("nrtri.in", "r");
    FILE *f_out = fopen("nrtri.out", "w");

    int i, j;
    int n;

    fscanf(f_in, "%d", &n);
    for (i = 1; i <= n; i++) 
        fscanf(f_in, "%d", &betisoare[i]);
    sort(betisoare + 1, betisoare + n + 1);

    numara = 0;
    for (i = 1; i < n - 1; i++) {
        for (j = i + 1; j < n; j++) {
            int val = betisoare[i] + betisoare[j];
            caut(j + 1, n, val);        
        }
    }
    fprintf(f_out, "%d\n", numara);

    fclose(f_in);
    fclose(f_out);

    return 0;
}