Cod sursa(job #2497200)

Utilizator DunareanuDinu Dunareanu Dunareanu Data 22 noiembrie 2019 11:01:54
Problema Numarare triunghiuri Scor 100
Compilator c-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <stdio.h>
#include <stdlib.h>

FILE *fin , *fout;

int v[2000],f[30001];

int main() {
    fin=fopen("nrtri.in","r");
    fout=fopen("nrtri.out","w");
    int n,i,x,poz,c=0,j,k,flag;
    fscanf(fin,"%d",&n);
    for(i=0;i<n;i++) {
        fscanf(fin,"%d",&x);
        f[x]++;
    }
    poz=0;
    for(i=1;i<30001;i++) {
        while(f[i]>0) {
            v[poz]=i;
            poz++;
            f[i]--;
        }
    }

    for(i=0;i<n-2;i++) {
        for(j=i+1;j<n-1;j++) {
            k=j+1;
            flag=0;
            while(k<n && flag==0) {
                if(v[i]+v[j]>=v[k]) {
                    c++;
                }
                else {
                    flag=1;
                }
                k++;
            }
        }
    }

    fprintf(fout,"%d\n",c);
    fclose(fin);
    fclose(fout);
    return 0;
}