Pagini recente » Diferente pentru implica-te/arhiva-educationala intre reviziile 55 si 223 | Cod sursa (job #3269729) | Cod sursa (job #3286634) | Cod sursa (job #3261221) | Cod sursa (job #3289711)
#include <fstream>
using namespace std;
ifstream fin("oite.in");
ofstream fout("oite.out");
#define NMAX 1030
#define MAX 1000005
int a[NMAX];
long long dp[MAX][10];
int main() {
int c, l;
fin >> c >> l;
for (int i = 1; i <= c; ++i) {
fin >> a[i];
}
dp[0][0] = 1;
for (int i = 1; i <= c; ++i) {
for (int j = l; j >= a[i]; --j) {
for (int k = 1; k <= 4; ++k) {
dp[j][k] += dp[j - a[i]][k - 1];
}
}
}
fout << dp[l][4];
return 0;
}