#include<bits/stdc++.h>
using namespace std;
int main()
{
  int n;
  cin >> n;
  
  int x[n], y[n];
  for(int i = 0; i < n; i ++)
    cin >> x[i];
  for(int i = 0; i < n; i ++)
    cin >> y[i];
  long long sm = 0;
  for(int i = 0; i < n; i ++)
    sm += y[i];
  for(int i = 0; i < n; i ++)
    {
      x[i] = min(sm, (long long)x[i]);
      sm -= x[i];
    }
  long long ans = 0;
  int s = 0, e = n - 1;
  for(int i = 0; i < n; i++)
    {
      while(y[i]  > 0)
	{
	  if(s < i)
	    {
	      int mi = min(y[i], x[s]);
	      x[s] -= mi;
	      y[i] -= mi;
	      ans += mi;
	      if(!x[s]) s++;
	    }
	  else
	    {
	      int mi = min(y[i], x[e]);
	      x[e] -= mi;
	      y[i] -= mi;
	      if(e > i) ans -= mi;
	      if(!x[e]) e--;
	    }
	}
    }
  // s < i
  cout << ans << endl;
  return 0;
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |