2012百度之星初賽之C題 度度熊的禮物

2021-06-06 21:46:14 字數 1084 閱讀 4994

時間限制: 

1000ms 

記憶體限制: 

65536kb

描述

度度熊擁有乙個自己的baidu空間,度度熊時不時會給空間朋友贈送禮物,以增加度度熊與朋友之間的友誼值。度度熊在偶然的機會下得到了兩種超級禮物,於是決定給每位朋友贈送一件超級禮物。不同型別的朋友在收到不同的禮物所能達到的開心值是不一樣的。開心值衡量標準是這樣的:每種超級禮物都擁有兩個屬性(a, b),每個朋友也有兩種屬性(x, y),如果該朋友收到這個超級禮物,則這個朋友得到的開心值為a*x + b*y。

由於擁有超級禮物的個數限制,度度熊很好奇如何分配這些超級禮物,才能使好友的開心值總和最大呢?

輸入第一行n表示度度熊的好友個數。

接下來n行每行兩個整數表示度度熊好朋友的兩種屬性值xi, yi。

接下來2行,每行三個整數ki, ai, bi,表示度度熊擁有第i種超級禮物的個數以及兩個屬性值。

1 <= n <= 1000, 0 <= xi, yi, ai, bi <= 1000, 0 <= ki <= n, 保證k1+k2 >= n

輸出輸出一行乙個值表示好友開心值總和的最大值

樣例輸入

43 67 41 52 43 3 43 4 3

樣例輸出

118
#include #include #include #define max 1001 

int cost[max],index[max],n;

using namespace std;

void swap(int i, int j)

void sort()

int k1,a1,b1,k2,a2,b2;

cin>>k1>>a1>>b1>>k2>>a2>>b2;

int value[max][2];

for (i=0; ivalue[i][1])

else

}} printf("%d\n",maxvalue);

return 0;

}

**沒提交,也不知道是對是錯!

度度熊學佇列 2018百度之星初賽

度度熊正在學習雙端佇列,他對其翻轉和合併產生了很大的興趣。初始時有 nnn 個空的雙端佇列 編號為 111 到 nnn 你要支援度度熊的 qqq 次操作。111 uuu www valvalval 在編號為 uuu 的佇列裡加入乙個權值為 valvalval 的元素。w 0w 0w 0 表示加在最前...

百度之星 初賽B

a 傳送門 點我 求聯通塊個數,對於簡單圖而言,就是c v e,其中c就是聯通塊個數,v是頂點數,e是邊數 include include include include using namespace std const int max n 2e5 10 int n,m,k vectorg max...

度度熊與數字 2019百度之星初賽(二)

problem description 度熊發現,111,333 以及 999 這三個數字很神奇,它們的所有的倍數的每位數字的和一定是自己的倍數。例如說 545454 是 333 的倍數,同時 5 4 95 4 95 4 9 也是 333 的倍數。在另乙個例子 666666666 是 999 的倍數...