Untitled
unknown
c_cpp
13 days ago
1.3 kB
2
Indexable
#include <bits/stdc++.h> using namespace std; #define fastio() ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL) #define LSB(i) ((i) & (-i)) #define ll long long const int dx[]{-1,1,0,0,-1,-1,1,1}; const int dy[]{0,0,1,-1,-1,1,-1,1}; const int MOD = 1e9+7; #define int ll const int N = 1e5+5; void solve(int testCase) { int n; cin >> n; std::vector<int> pre(n), a; vector<array<int,2>> b; for(int i = 0; i < n; ++i){ int x, val; cin >> x; if(x == 1) a.push_back(i); else if(x == 2){ cin >> val; pre[i] = val; } else { cin >> val; b.push_back({i, val}); } } for(int i = 1; i < n; ++i) pre[i] += pre[i-1]; vector<int> ans(b.size()); int i = 0, j = 0; while(i < a.size() && j < b.size()){ if(b[j][0] < a[i]){ ++j; continue; } if(pre[b[j][0]] - pre[a[i]] >= b[j][1]){ ++ans[j]; ++i; } else { ++j; } } for(int x : ans) cout << x << '\n'; } int32_t main(){ fastio(); int t = 1; // cin >> t; for(int i = 1; i <= t; ++i){ solve(i); } return 0; }
Editor is loading...
Leave a Comment