買汽水 紀中2948 dfs 二分查詢

2021-07-16 21:48:02 字數 1002 閱讀 7758

暑期集訓一共n天,大家都辛苦了,symbol準備給大家買汽水,但是錢只有m。

每天買汽水的花銷都是不固定的,如果不夠錢,買到的汽水不夠大家一起喝,那樣子不太好對不對?所以我們要買的話,就得讓每個人都能喝到汽水要不我們那天就不買了。現在給出每天買汽水的花銷,請問我們一共最多能夠花掉symbol多少錢呢?

暑假最多不超過40天,symbol給大家花的錢最多有一億。

輸入第一行有兩個整數n,m。 1<=n<=40,0<=m<=100000000。

接下來一行有n個數,表示某一天的汽水花銷。每天汽水的花銷p<=100000000。

輸出乙個整數,表示我們能夠花掉symbol多少錢。

對於10%的資料,n<=10。

對於30%的資料,n<=20。

對於60%的資料,n<=30。

對於100%的資料,n<=40。

把a陣列分兩半分別dfs,記錄前半部分的所有可能和,在後半部分二分,最大值更新答案

生平第一次見到劈成兩半dfs的題目,果然兩次dfs快過各種玄學優化,學習了

#include 

#include

using

namespace

std;

int a[41],h[2003220];

int n,m,cnt=0,ans=0;

bool cmp(int x,int y)

void find(int x)

else

r=mid-1;

}ans=ans<(v+x)?(v+x):ans;

}void dfs1(int dep,int sum)

dfs1(dep+1,sum+a[dep]);

dfs1(dep+1,sum);

}void dfs2(int dep,int sum)

dfs2(dep+1,sum+a[dep]);

dfs2(dep+1,sum);

}int main()

電費結算 紀中3018 二分

wzk最近靠租房發家致富了。作為wzk老同學的你也要租房,於是wzk決定不要房租,但是電費還得付。以下是用電 舉個例子吧。如果你用電為10123千瓦時,那麼要付2 100 3 9900 5 123 30515塊錢 好貴 到結算電費的日子了,可是wzk家裡只有乙個總電表,也就是統計你和wzk總共用的電...

HDU1598 並查集 或 二分 DFS

題意 求從s到t的所有路線中最大邊權與最小邊權差值的最小值。方法一 並查集 貪心 將邊按照邊權從小到大排序,然後依次選取邊作為從s到t路線的最小邊,然後再按照邊權從小到大不斷加邊,直到s t聯通,則最後加的邊的邊權與最小邊權的差是答案的乙個可能解。對最小邊依次列舉,答案為所有可能解的最小值。incl...

游泳池 紀中 1439 數學 二分

有乙個游泳池,形狀為等腰直角三角形,直角邊長250公尺。游泳池可以看作是在座標系統中 如上圖所示 用一條兩端點在三角形邊上的線段把游泳池分成兩個面積相同的部分。在給定線段其中乙個端點的情況下,要你程式設計輸出另乙個端點。輸入第一行包含兩個整數,表示線段乙個端點的座標,保證給定的端點在直角三角形的邊上...