題目描述
阿明是一名推銷員,他奉命到螺絲街推銷他們公司的產品。螺絲街是一條死胡同,出口與入口是同乙個,街道的一側是圍牆,另一側是住戶。螺絲街一共有n家住戶,第ii家住戶到入口的距離為si公尺。由於同一棟房子裡可以有多家住戶,所以可能有多家住戶與入口的距離相等。阿明會從入口進入,依次向螺絲街的x家住戶推銷產品,然後再原路走出去。
阿明每走1公尺就會積累1點疲勞值,向第i家住戶推銷產品會積累ai點疲勞值。阿明是工作狂,他想知道,對於不同的x,在不走多餘的路的前提下,他最多可以積累多少點疲勞值。
輸入格式
第一行有乙個正整數n,表示螺絲街住戶的數量。
接下來的一行有n個正整數,其中第ii個整數si
表示第i家住戶到入口的距離。資料保證 s1≤s2≤…≤sn<10^8
接下來的一行有n個正整數,其中第i個整數ai
表示向第i戶住戶推銷產品會積累的疲勞值。資料保證ai<1000
輸出格式
輸出n行,每行乙個正整數,第i行整數表示當x=i時,阿明最多積累的疲勞值。
貪心思路,兩種方案
1.取最大的x個a
2.取最大的x-1個a,再取乙個最大的2*s+a用來拉長距離
#include#include#include#include#include#includeusing namespace std;
const int n=1e5+10;
#define int long long
struct nodee[n];
inline bool cmp(node t1,node t2)
int n;
int h[n];
signed main()
}
洛谷 P2672 推銷員 貪心
題目描述 阿明是一名推銷員,他奉命到螺絲街推銷他們公司的產品。螺絲街是一條死胡同,出口與入口是同乙個,街道的一側是圍牆,另一側是住戶。螺絲街一共有n家住戶,第ii家住戶到入口的距離為s is i si 公尺。由於同一棟房子裡可以有多家住戶,所以可能有多家住戶與入口的距離相等。阿明會從入口進入,依次向...
洛谷 P2672 推銷員
阿明是一名推銷員,他奉命到螺絲街推銷他們公司的產品。螺絲街是一條死胡同,出口與入口是同乙個,街道的一側是圍牆,另一側是住戶。螺絲街一共有n家住戶,第i家住戶到入口的距離為si公尺。由於同一棟房子裡可以有多家住戶,所以可能有多家住戶與入口的距離相等。阿明會從入口進入,依次向螺絲街的x家住戶推銷產品,然...
洛谷 P2672 推銷員
題目描述 阿明是一名推銷員,他奉命到螺絲街推銷他們公司的產品。螺絲街是一條死胡同,出口與入口是同乙個,街道的一側是圍牆,另一側是住戶。螺絲街一共有n家住戶,第i家住戶到入口的距離為si公尺。由於同一棟房子裡可以有多家住戶,所以可能有多家住戶與入口的距離相等。阿明會從入口進入,依次向螺絲街的x家住戶推...