//这是团队里的题
为了赚取零花钱,Kiana 决定趁暑假去外地订购学习用品,然后转手卖给同学以赚 取中间差价。受天气和心情影响,学习用品的进价和售价都在不断改变,具体而言,暑 假一共有 n 天,其中第 i 天订购一套学习用品的进价是 a i ,第 i 天转手卖掉一套学习用 品的售价是 b i 。由于订货路途也会费时,如果 Kiana 在第 i 天订购了学习用品,那么 她只能在第 i + 1 天到第 n 天中的任何一天进行出售。 因为 Kiana 很懒,所以她总共只打算订购一套学习用品,并在适当的时机出售以 赚取尽可能多的差价。现在 Kiana 想知道,自己能赚取到的最大差价是多少。由于她 不会算,所以希望由你来告诉她。
第一行包含一个正整数 n,表示暑假的天数。
第二行包含 n 个正整数,其中第 i 个数 a i 表示第 i 天订购一套学习用品的进价。
第三行包含 n 个正整数,其中第 i 个数 b i 表示第 i 天卖掉一套学习用品的售价。
输出一行一个正整数,表示 Kiana 能赚取到的最大差价。如果 Kiana 在任何时机 订购并在之后出售都没有办法赚到钱,请输出 0。
3
1 2 3
6 5 4
4
//代码
#include<bits/stdc++.h>
using namespace std;
int n,a[2000005],b[2000005],c[2000005],ans=0,sum=0;
int main(){
ios::sync_with_stdio(false);
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){
cin>>b[i];
}
for(int i=1;i<=n;i++){
ans=max(ans,a[i]);
c[i]=b[i+1]-ans;
}
for(int i=1;i<=n;i++){
sum=max(sum,c[i]);
}
cout<<sum;
return 0;
}