Cod sursa(job #1111949)

Utilizator roxannemafteiuMafteiu-Scai Roxana roxannemafteiu Data 19 februarie 2014 11:52:52
Problema Numarare triunghiuri Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include<cstdio>
#include<cmath>
#include<vector>
#include<algorithm>
using namespace std;

FILE *in,*out;

short int n,x;
int cnt;
vector<short int> v;
int main()
{
    in=fopen("nrtri.in","rt");
    fscanf(in,"%hd ",&n);
    for(short int i=0;i<n;i++)
    {
        fscanf(in,"%hd", &x);
        v.push_back(x);
    }
    fclose(in);

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

    vector<short int> :: iterator it, t1, t2, end=v.end()-2, end1=v.end()-1, end2=v.end();
    for(it=v.begin(); it!=end; it++)
    {
        for(t1=it+1;t1!=end1; t1++)
        {
            for(t2=t1+1; t2!=end2; t2++)
                if( ((*it + *t1) >= *t2) && ((*it + *t2) >= *t1) && ((*t1 + *t2) >= * it))
                    cnt++;
        }
    }
    out=fopen("nrtri.out","wt");
    fprintf(out,"%d", cnt);
    fclose(out);
    return 0;
}