https://petlja.org/biblioteka/r/problemi/zbirka-napredni-nivo/broj_realnih_podnizova_datog_zbira
ovo je link zadatka, dobijam sve OK sem na poslednjem primeru TLE, da li neko zna jos neku optimizaciju da smisli
#include <bits/stdc++.h>
using namespace std;
double epsilon = 0.00001;
int counter = 0;
void Utility(double currsum, double x, int index, int n, double niz[])
{
if(index == n)
{
if(abs(currsum - x) < epsilon) counter++;
return ;
}
if(currsum - x >= epsilon)
{
return ;
}
Utility(currsum, x, index + 1, n, niz);
Utility(currsum + niz[index], x, index + 1, n, niz);
}
int main()
{
int n;
double x;
cin >> n;
double niz[n];
for(int i = 0; i < n; i++)
{
cin >> niz[i];
}
cin >> x;
Utility(0, x, 0, n, niz);
cout << counter;
return 0;
}