Buscar

277 Subconjuntos de uma soma única

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

#include "stdio.h"
int main(void) {
 int n;
 scanf("%d", &n);
 int num[100000], i, j, k, aux, somas[100000] = {0};
 //leitura do conjunto:
 for(i = 1; i <= n; i++){
 	scanf(" %d", &num[i]);
 	if(num[i] < 0){
 		printf("-1\n");
 		return 0;
 	}
 }
 //armazenar as somas:
 for(i = 1; i <= n-2; i++){
 	for(j = i+1; j <= n-1; j++){
 		for(k = j+1; k <= n; k++){
 			somas[num[i]+num[j]+num[k]] = somas[num[i]+num[j]+num[k]] + 1;
 		}
 	}
 }
 //imprimir as somas:
 for(i = 1; i <= n-2; i++){
 	for(j = i+1; j <= n-1; j++){
 		for(k = j+1; k <= n; k++){
 			if(somas[num[i]+num[j]+num[k]] == 1){
 				printf("{%d,%d,%d} = %d\n", num[i], num[j], num[k], num[i]+num[j]+num[k]);
 			}
 		}
 	}
 }
 return 0;
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais