Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- ifstream fin("bete.in");
- ofstream fout("bete.out");
- int n,S;
- int v[103];
- int a[10003];
- int sol[103];
- int main()
- {
- int i,ult;
- int x,j,k;
- fin >> n >> S;
- for (i = 1; i <= n; i++)
- fin >> v[i];
- a[v[1]] = 1; ult = v[1];
- for (i = 2; i <= n; i++)
- {
- x = v[i];
- for (j = ult; j >= 1; j--)
- if (a[j] != 0 && j+x <= S) a[j+x] = i;
- a[x] = i;
- ult = min(S,ult+x);
- }
- if (a[S] == 0) fout << "NU\n";
- else
- {
- fout << "DA\n";
- k = 0;
- while (S != 0)
- {
- sol[++k] = a[S];
- S-=v[a[S]];
- }
- fout << k << "\n";
- for (i = k; i >= 1; i--)
- fout << sol[i] << " ";
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement