51nod1099 任務執行順序

2021-08-15 18:01:55 字數 1309 閱讀 7207

1099 任務執行順序

基準時間限制:1 秒 空間限制:131072 kb 分值: 20

難度:3級演算法題

有n個任務需要執行,第i個任務計算時佔r[i]個空間,而後會釋放一部分,最後儲存計算結果需要佔據o[i]個空間(o[i] < r[i])。

例如:執行需要5個空間,最後儲存需要2個空間。給出n個任務執行和儲存所需的空間,問執行所有任務最少需要多少空間。

input

第1行:1個數n,表示任務的數量。(2 <= n <= 100000)

第2 - n + 1行:每行2個數r[i]和o[i],分別為執行所需的空間和儲存所需的空間。(1 <= o[i] output

輸出執行所有任務所需要的最少空間。

input示例

20

14 1

2 111 3

20 4

7 56 5

20 7

19 8

9 420 10

18 11

12 6

13 12

14 9

15 2

16 15

17 15

19 13

20 2

20 1

output示例

135
思路:做了兩次資料幾乎沒對的,原來是一直沒有搞懂題目什麼意思。題意是,給出n個任務,執行花費r空間,然後儲存需要o空間,那麼就會有空閒的空間,把這個空閒空間從大到小排序即可。然後每次執行任務都更新空閒空間,如果空閒空間得以執行當前任務,那麼就不需要增加空間了
code:
#include #define ll long long

using namespace std;

const int ax = 1e5+66;

struct nodes[ax];

bool cmp( const node &a , const node &b )

else return a.z > b.z;

}int main()

sort( s , s + n , cmp );

ll minus = s[0].x ;

ll left = s[0].z ;

ll c = s[0].y;

for( int i = 1 ; i < n ; i++ )

c += s[i].y;

left = minus - c;

} cout << minus << endl;

return 0;

}

51NOD 1099 任務執行順序

1099 任務執行順序 基準時間限制 1 秒 空間限制 131072 kb 分值 20 難度 3級演算法題 有n個任務需要執行,第i個任務計算時佔r i 個空間,而後會釋放一部分,最後儲存計算結果需要佔據o i 個空間 o i r i 例如 執行需要5個空間,最後儲存需要2個空間。給出n個任務執行和...

51 nod 1099 任務執行順序

有n個任務需要執行,第i個任務計算時佔r i 個空間,而後會釋放一部分,最後儲存計算結果需要佔據o i 個空間 o i r i 例如 執行需要5個空間,最後儲存需要2個空間。給出n個任務執行和儲存所需的空間,問執行所有任務最少需要多少空間。input 第1行 1個數n,表示任務的數量。2 n 100...

51nod 1099 任務執行順序

1099 任務執行順序 基準時間限制 1 秒 空間限制 131072 kb 分值 20 難度 3級演算法題 有n個任務需要執行,第i個任務計算時佔r i 個空間,而後會釋放一部分,最後儲存計算結果需要佔據o i 個空間 o i r i 例如 執行需要5個空間,最後儲存需要2個空間。給出n個任務執行和...