Cod sursa(job #1233460)

Utilizator Vlad_317Vlad Panait Vlad_317 Data 25 septembrie 2014 15:11:32
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.16 kb
#include <stdio.h>
#include <algorithm>
using namespace std;

#define MAX 800
int v[MAX+2];
bool sort1(int x,int y)
{
    return x<y;
}
int min(int x, int y)
{
    if(x<y)
        return x;
    else
        return y;
}
/*void qsort(int begin, int end){
    int aux,b=begin,e=end,
    piv=v[(begin+end)/2];
    while(b<=e){
        while(v[b++]<piv);
        while(v[e--]>piv);
        if(b<=e){
            aux=v[b];
            v[b]=v[e];
            v[e]=aux;
            b++;e--;
        }
    }
    if(begin<e) qsort(begin,e);
    if(b<end) qsort(b,end);
} */

int main()
{
    FILE *fin,*fout;

    fin=fopen("nrtri.in","r");
    fout=fopen("nrtri.out","w");

    int i,j,n,p,u,m,val,cnt=0,nr,k,ok;

    fscanf(fin,"%d",&n);

    for(i=0;i<n;i++)
        fscanf(fin,"%d",&v[i]);

    sort(&v[0],&v[n],sort1);

    for(i=0;i<n;i++)
        for(j=i+1;j<n;j++){
            k=j+1;
            ok=1;
            while(ok==1 && k<n){
            ok=0;
            if(v[i]+v[j]>=v[k]){
            cnt++;
            ok=1;
            }
            k++;
            }

        }
    fprintf(fout,"%d",cnt);
    return 0;
}