Meglio così ...

codice:
 int max = 0;
 for (i=0; i<201; i++)
        if(occ[i]>max)
            max = occ[i];
            
 printf(" Il numero dei sottoinsiemi K e' : %d", max);
poi come posso migliorare il fatto del 201?
Se il valore più grande, come hai detto prima, è 100, non hai problemi.

Se questo varia, sì, devi trovare il massimo valore delle somme parziali + 1 ... ma occhio che questa non sia molto grande altrimenti avrai un'occupazione di memoria spropositata e il metodo non sarà più utilizzabile.