[hdoj6438]Buy and Resell
题意
给定$n$个城市和无限制的初始金钱你可以在每个城市里
-
以$a_i$的价格买个商品
-
以$a_i$的价格卖出商品
-
啥都不做
问最多能赚多少钱?
题解
贪心 + 数据结构
假设每个城市都卖出商品。那么之前买入的最便宜的商品来卖。对于买卖次数就将假设买入的商品记录为两种
-
$1$表示他是之前买入并且在这次卖出
-
$2$表示他是没有买卖,直接抵消了。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include
using
#define
#define
#define
#define
typedef
typedef
const
//head
int
ll ans = 0
int
#ifdef
freopen("3.in"
#endif
scanf
while
priority_queue
scanf
rep(i,0
int
pq.push(make_pair
pq.push(make_pair
ll temp = x + pq.top().fi;
if
ans += temp;
pq.pop();
}
printf
}
return
}
[hdoj6438]Buy and Resell
https://www.cheasim.com/acm/2018/08/27/hdoj6438-Buy-and-Resell.html
作者 CheaSim
发布于 2018-08-27
更新于 2018-08-27
许可协议
#贪心