Mai intai trebuie sa te autentifici.
Cod sursa(job #3360508)
| Utilizator | Data | 14 iulie 2026 14:34:21 | |
|---|---|---|---|
| Problema | Numarare triunghiuri | Scor | 20 |
| Compilator | c-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.87 kb |
#include <stdio.h>
#define MAXN 800
#define MAXLEN 30000
int lenb[MAXN] , vfl[MAXLEN + 1];
int main () {
FILE *fin , *fout;
int n , i , j , lb , nrtri;
fin = fopen ( "nrtri.in" , "r" );
fscanf ( fin , "%d" , &n );
for ( i = 0 ; i < n ; i++ ) {
fscanf ( fin , "%d" , &lb );
vfl[lb]++;
}
fclose ( fin );
n = 0;
for ( i = 1 ; i <= MAXLEN ; i++ )
for ( j = 0 ; j < vfl[i] ; j++ ) {
lenb[n] = i;
n++;
}
for ( i = 1 ; i <= MAXLEN ; i++ )
vfl[i] = vfl[i] + vfl[i - 1];
nrtri = 0;
for ( i = 0 ; i < n ; i++ )
for ( j = i + 1 ; j < n ; j++ )
nrtri = nrtri + vfl[lenb[i] + lenb[j]] - vfl[lenb[j] - 1] - 1;
fout = fopen ( "nrtri.out" , "w" );
fprintf ( fout , "%d\n" , nrtri );
fclose ( fout );
return 0;
}
