Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- #include <bitset>
- using namespace std;
- ifstream fin("qstiva.in");
- ofstream fout("qstiva.out");
- int n,S,Q,op,x,a[100001];
- bitset <1001> dp[100001];
- int main()
- {
- fin>>Q;
- for(int k=1;k<=Q;++k)
- {
- fin>>op;
- if(op==1)
- {
- fin>>x;
- a[++n]=x;
- dp[0][0]=1;
- dp[n].reset();
- for(int i=0;i<=1000;++i)
- {
- if(dp[n-1][i]==1)
- dp[n][i]=1;
- if(i>=a[n])
- if(dp[n-1][i-a[n]]==1)
- dp[n][i]=1;
- }
- }
- if(op==2)
- --n;
- if(op==3)
- {
- fin>>S;
- fout<<dp[n][S]<<'\n';
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement