站外题求助:暴力枚举 60 分
  • 板块灌水区
  • 楼主封禁用户
  • 当前回复13
  • 已保存回复13
  • 发布时间2024/10/19 10:19
  • 上次更新2024/10/19 12:21:49
查看原帖
站外题求助:暴力枚举 60 分
1053866
封禁用户楼主2024/10/19 10:19
【问题描述】

为了赚取零花钱,Kiana 决定趁暑假去外地订购学习用品,然后转手卖给同学以赚取中间差价。受天气和心情影响,学习用品的进价和售价都在不断改变,具体而言,暑假一共有 n 天,其中第 i 天订购一套学习用品的进价是 ai,第 i 天转手卖掉一套学习用品的售价是 bi。由于订货路途也会费时,如果 Kiana 在第 i 天订购了学习用品,那么她只能在第 i+1 天到第 n 天中的任何一天进行出售。

因为 Kiana 很懒,所以她总共只打算订购一套学习用品,并在适当的时机出售以赚取尽可能多的差价。现在 Kiana 想知道,自己能赚取到的最大差价是多少。由于她不会算,所以希望由你来告诉她。

【输入】

第一行包含一个正整数 n,表示暑假的天数。

第二行包含 n 个正整数,其中第 i 个数 ai表示第 i 天订购一套学习用品的进价。

第三行包含 n 个正整数,其中第 i 个数 bi表示第 i 天卖掉一套学习用品的售价。

【输出】

输出一行一个正整数,表示 Kiana 能赚取到的最大差价。

如果 Kiana 在任何时机订购并在之后出售都没有办法赚到钱,请输出 0。

【样例输入1】

3
1 2 3
6 5 4
【样例输出1】

4

My Code:

#include<bits/stdc++.h>
using namespace std;
int n,a[2000005],b[2000005],ans;
int main(void){
	cin>>n;
	for(int i=0;i<n;i++)
		cin>>a[i];
	for(int i=0;i<n;i++)
		cin>>b[i];
	for(int i=0;i<n;i++){
		for(int j=i+1;j<n;j++)
			ans=max(ans,b[j]-a[i]);
	}
	cout<<ans;
}
2024/10/19 10:19
加载中...