func_code_string: #include <bits/stdc++.h>   using namespace std;   template <class T>   void DBGpair(T a, string s =   ) {     cerr << s << (s ==    ?    :  :  ) << a.first <<  ,   << a.second <<   n ;   }   template <class T>   void DBGvec(vector<T> a) {     for (T i : a) cerr << i <<    ;     cerr <<   n ;   }   int dx[] = {0, 0, 1, -1};   int dy[] = {1, -1, 0, 0};   char dir[] = { R ,  L ,  D ,  U };   const int MOD = 1e9 + 7;   const long long INF = 1e9;   void setIO(string filename) {     if (fopen((filename +  .in ).c_str(),  r )) {       freopen((filename +  .in ).c_str(),  r , stdin);       freopen((filename +  .out ).c_str(),  w , stdout);     }   }   struct bit {     vector<long long> tree;     bit(int n) { tree = vector<long long>(n + 5, 0); }     long long rsq(int idx) {       long long sum = 0;       while (idx > 0) {         sum += tree[idx];         idx -= idx & -idx;       }       return sum;     }     long long rsq(int a, int b) {       a++;       b++;       return rsq(b) - (a == 1 ? 0 : rsq(a - 1));     }     void upd(int idx, int val) {       idx++;       while (idx < tree.size() - 1) {         tree[idx] += val;         idx += idx & -idx;       }     }   };   void solve() {     int n;     cin >> n;     vector<long long> a(n);     for (auto &i : a) cin >> i;     vector<long long> t(n);     for (auto &i : t) cin >> i;     vector<long long> psums(n + 1);     for (int i = 1; i <= n; i++) psums[i] = psums[i - 1] + t[i - 1];     bit tree(n);     vector<long long> pos(n + 1);     for (int i = 0; i < n; i++) tree.upd(i, 1);     for (int i = 0; i < n; i++) {       int idx = upper_bound((psums).begin(), (psums).end(), a[i] + psums[i]) -                 psums.begin();       if (idx == psums.size()) continue;       idx--;       pos[idx] += a[i] + psums[i] - psums[idx];       tree.upd(idx, -1);     }     for (int i = 0; i < n; i++) {       long long ans = tree.rsq(0, i) * t[i] + pos[i];       cout << ans <<    ;     }     cout <<   n ;   }   int main() {     ios_base::sync_with_stdio(false);     cin.tie(0);     int t = 1;     for (int i = 1; i <= t; i++) solve();   }   