暑假到了,小明的老師們布置了一系列共n個作業給大家做。由於作業的相關性,考慮到同學們假期要去社會實踐,同學們只需做完連續的一段作業即可。每個作業有倆個引數,需要的時間長度和難度係數。老師怕同學們太偷懶,要求連續的一段作業總時間必須不小於指定的m。小明是特別害怕做難題,因此想請學程式設計的你幫他選出一段作業,既能滿足老師要求,其最大難度作業的難度又最小。
第一行:兩個空格分開的數n(1≤n≤100,000) 和m(1≤m≤10^18);
以下n行:兩個空格分開的數ti,si,表示第i個作業的長度和難度(1≤ti≤109,1≤si≤109)
輸出僅乙個整數表示選出的這段作業的最大難度。
5 10
4 10
6 15
3 54 9
3 6sample output
9hint
40%的資料滿足,n<=1000;
100%的資料滿足,n<=100,000
#include #include #include #define maxn 100005
using namespace std;
int n,f[maxn],flag[maxn];
long long m,s[maxn];
struct fdfdfda[maxn];
bool cmp(fdfdfd a,fdfdfd b)
}}
貪心 做作業順序。c
有n個作業,每個作業都有自己的 ddl,如果沒有在 ddl 前做完這個作業,那麼老師會扣掉這個作業的全部平時分。需要求出如何安排做作業的順序,才能盡可能少扣一點分。輸入包含t個測試用例。輸入的第一行是單個整數t,為測試用例的數量。每個測試用例以乙個正整數n開頭 1 n 1000 表示作業的數量。然後...
SSLOJ 1299 選做作業
傳送門 在一堆大部分有先決條件的作業中選擇一部分,使得開心值最大 我們留意到,若出現乙個關於先決條件的環,那麼在其中的作業是永遠也不會達成的 我們可以使用拓撲把環找出,然後對於剩下的圖進行網路流求解 include include include include include include in...
HDU 1789 做作業使罰分少,貪心
貪心。先考慮分值大的作業,如果使其在截至日期當天做,如果當天已經被占用,那麼往前推一天,如果前面的全部被占用,則該作業無法完成。1a,程式設計出了點情況,浪費了時間,跟蹤比閱讀 好用。能較快找到問題。include using namespace std const int n 1001 int a...