Pagini recente » Cod sursa (job #1327260) | Cod sursa (job #2530001) | Cod sursa (job #2207893) | Cod sursa (job #2350327) | Cod sursa (job #3185642)
#include <stdio.h>
#include <stdlib.h>
#define Nr 802
int vector[Nr];
//functia pentru qsort(in mod crescator)
int compara(const void * a, const void *b) {
return ( *(int *)a - *(int *)b );
}
int main() {
freopen("nrtri.in", "r", stdin);
freopen("nrtri.out", "w", stdout);
int N, i, j, nr = 0;
scanf("%d", &N);
for(i = 1; i <= N; i++){
scanf("%d", &vector[i]);
}
qsort(vector, N, sizeof(int), compara);
for(i = 1; i <= N; i++){
for(j = i + 1;j <= N; j++) {
int st = j;
int dr = N;
int verificareTriunghi = j;
while(st <= dr) {
int mijloc = (st + dr) / 2;
if(vector[mijloc] <= vector[i] + vector[j]) {
verificareTriunghi = mijloc;
st = mijloc + 1;
}else {
dr = mijloc - 1;
}
}
nr += verificareTriunghi-j;
}
}
printf("%d", nr);
return 0;
}