Cod sursa(job #614783)

Utilizator harababurelPuscas Sergiu harababurel Data 7 octombrie 2011 17:57:05
Problema Numarare triunghiuri Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.12 kb
#include <iostream>
#include <fstream>
using namespace std;
int main() {
    ifstream f("nrtri.in");
    ofstream g("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;
}