#include <stdio.h> void scan(int a[], int n) { int i; for(i=0;i<n;i++) { scanf("%d",&a[i]); } } void init(int sum[], int n) { int i; for(i=0;i<n;i++) { sum[i]=0; } } void print(int sum[], int n) { int i; for(i=0;i<n;i++) { printf("%d",sum[i]); if(i<n-1) { printf(" "); } } printf("\n"); } void sum1(int c[], int b[], int n) { int i; c[0] = b[0]; for(i=1;i<n;i++) { c[i] = c[i-1] + b[i]; } } void eat(int sum[], int a[], int b[], int c[], int n) { int i,j; for(j=0;j<n;j++) { if(a[0] < c[j]) { if(j>0 && a[0] > c[j-1]) { sum[j] += a[0]-(c[j-1]); } break; } sum[j] += b[j]; } sum[0] = (a[0] > b[0]? b[0]:a[0]); for(i = 1; i < n; i++) { for(j = i; j < n; j++) { if(a[i] < c[j]-c[i-1]) { if(a[i] > c[j-1]-c[i-1]) { sum[j] += a[i]-(c[j-1]-c[i-1]); } break; } sum[j] += b[j]; } } } int main() { int n; while(scanf("%d",&n)!=EOF) { int a[n],b[n],c[n],sum[n]; scan(a,n); scan(b,n); init(sum,n); sum1(c,b,n); eat(sum,a,b,c,n); print(sum,n); } return 0; } |
Double click to view unformatted code.