Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define all(x) x.begin(), x.end()
- #define len(x) int(x.size())
- typedef long long ll;
- /*
- int n, c;
- cin >> n;
- vector <int> w(n);
- for (int i = 0; i < n; i++) cin >> w[i];
- cin >> c;
- int l, r, t;
- cin >> l >> r >> t;
- bool kek = get(w, c, l, r, t);
- if (kek)
- cout << 1;
- else
- cout << 0;*/
- /*
- bool get(vector <int> w, int c, int l, int r, int t){
- int n = len(w);
- vector <vector<int>> dp(2010, vector <int>(1010, -1));
- for (int i = 0; i < n; i++)
- dp[i][w[i]] = i;
- for (int i = 1; i < n; i++){
- for (int j = 0; j <= c; j++){
- dp[i][j] = max(dp[i - 1][j], dp[i][j]);
- if (j - w[i] >= 0){
- dp[i][j] = max(dp[i][j], min(i, dp[i - 1][j - w[i]]));
- }
- }
- }/*
- for (int i = 0; i < n; i++){
- for (int j = 0; j <= c; j++)
- cout << dp[i][j] << ' ';
- cout << endl;
- }
- r--;
- l--;
- if (dp[r][t] >= l) return true;
- else return false;
- }*/
- int main(){
- #ifdef HOME
- freopen("input.txt", "rt", stdin);
- #endif //HOME
- ios_base::sync_with_stdio(0);
- cin.tie(0);
- cout.tie(0);
- while(true){
- int n;
- cin >> n;
- if (n == 0) break;
- vector <int> w(n + 1);
- for (int i = 1; i <= n; i++)
- cin >> w[i];
- int c;
- cin >> c;
- vector <vector<int>> dp(n + 1, vector <int>(c + 1, -1));
- for (int i = 1; i <= n; i++)
- if (w[i] <= c)
- dp[i][w[i]] = i;
- for (int i = 2; i <= n; i++){
- for (int j = 0; j <= c; j++){
- dp[i][j] = max(dp[i][j], dp[i - 1][j]);
- if (j - w[i] >= 0){
- dp[i][j] = max(dp[i - 1][j - w[i]], max(dp[i - 1][j], dp[i][j]));
- }
- }
- } /*
- for (int i = 1; i <= n; i++){
- for (int j = 0; j <= c; j++){
- cout << dp[i][j] << ' ';
- }
- cout << endl;
- }*/
- int q;
- cin >> q;
- string res = "";
- int was = 0;
- for (int k = 0; k < q; k++){
- int a, b, cc;
- cin >> a >> b >> cc;
- int l = (a + was) % (n - b + 1) + 1;
- int r = l + b - 1;
- int t = (cc + was) % (c + 1);
- if (dp[r][t] >= l && dp[r][t] != -1){
- res.push_back('Y');
- was++;
- }
- else
- res.push_back('N');
- }
- cout << res << endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement