Cod sursa(job #1287824)

Utilizator thinkphpAdrian Statescu thinkphp Data 8 decembrie 2014 07:09:40
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.06 kb
/**
 *  Filename : nrtri.cpp
 */
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#define push push_back
#define FIN "nrtri.in"
#define FOUT "nrtri.out"
#define MAXN 808

typedef unsigned int uint;

std::vector<uint> vect;

int n;

void read() {

     std::ifstream fin( FIN ); 

     uint elem, i;

     fin>>n;

     for(i = 0; i < n; ++i) fin>>elem, vect.push( elem );

     fin.close();
};

void solve() {

     uint sol = 0, 
          i, 
          j, 
          k; 

     std::ofstream fout( FOUT ); 

     sort(vect.begin(), vect.end());

     //for(std::vector<uint>::iterator it = vect.begin(); it != vect.end(); ++it ) std::cout<<*it<<" ";

     for(i = 0; i < n; i++) {

         for(j = i + 1; j < n; j++) {

             for(k = j + 1; k < n; k++) {

                     if(vect[k] <= vect[ i ] + vect[ j ]) sol++;

                                else break;
             }
         } 
     }

     fout<<sol;  
}

int main() {

    read();
    solve();

    return(0);
};