Cod sursa(job #614780)

Utilizator harababurelPuscas Sergiu harababurel Data 7 octombrie 2011 17:55:30
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.11 kb
#include <iostream>
#include <fstream>
int main() {
    ifstream f; f.open("nrtri.in");
    ofstream g; g.open("nrtri.out");
    int n, v[801], i, j, max, aux, triunghiuri=0, k;
    f>>n;
    for(i=1; i<=n; i++) {
             f>>v[i];
             }
    //sortare
    for(i=n; i>1; i--) {
             max=i;
             for(j=1; j<i; j++) {
                      if(v[j]>v[max]) { max=j; }
                      }
             aux=v[i];
             v[i]=v[max];
             v[max]=aux;
             }
    for(i=1; i<=n-2; i++) {
             for(j=i+1; j<=n-1; j++) {
                        for(k=j+1; k<=n; k++) {
                                   if(v[i]+v[j]>=v[k]) {
                                                       triunghiuri++;
                                                       }
                                   else { break; } //se opreste cand da de un numar prea mare, toate de dupa el nu corespund
                                   }
                        }
             }
    g<<triunghiuri;
    
    f.close();
    g.close();
    return 0;
}