Sicily 1221 數字遊戲

2021-06-29 05:25:16 字數 1126 閱讀 2186

time limit: 1 secs, memory limit: 32 mb

小w發明了乙個遊戲,他在黑板上寫出了一行數字a1,a2,….an,然後給你m個回合的機會,每回合你可以從中選擇乙個數擦去它,接著剩下來的每個數字ai都要遞減乙個值bi。如此重複m個回合,所有你擦去的數字之和就是你所得到的分數。 

小w和他的好朋友小y玩了這個遊戲,可是他發現,對於每個給出的an和bn序列,小y的得分總是比他高,所以他就很不服氣。於是他想讓你幫他算算,對於每個an和bn序列,可以得到的最大得分是多少。這樣他就知道有沒有可能超過小y的得分。 

第一行,乙個整數n(1<=n<=200),表示數字的個數。

第二行,乙個整數m(1<=m<=n),表示回合數。

接下來一行有n個不超過10000的正整數,a1,a2…an,表示原始數字

最後一行有n個不超過500的正整數,b1,b2….bn,表示每回合每個數字遞減的值

乙個整數,表示最大可能的得分

3 310 20 304 5 6
47
zsuacm team member

// problem#: 1221

// submission#: 3294098

// the source code is licensed under creative commons attribution-noncommercial-sharealike 3.0 unported license

// uri:

#include #include #include #include #include #include #include #include #include #include #include using namespace std;

struct thing ;

thing t[205];

int dp[205][205];

bool cmp(const thing & t1, const thing & t2)

int main()

}cout << dp[n][m] << endl;

cin >> n;

return 0;

}

Sicily 1221 數字遊戲

time limit 1 secs,memory limit 32 mb 小w發明了乙個遊戲,他在黑板上寫出了一行數字a1,a2,an,然後給你m個回合的機會,每回合你可以從中選擇乙個數擦去它,接著剩下來的每個數字ai都要遞減乙個值bi。如此重複m個回合,所有你擦去的數字之和就是你所得到的分數。小w...

Sicily1221 數字遊戲 week 10

time limit 1 secs,memory limit 32 mb 小w發明了乙個遊戲,他在黑板上寫出了一行數字a1,a2,an,然後給你m個回合的機會,每回合你可以從中選擇乙個數擦去它,接著剩下來的每個數字ai都要遞減乙個值bi。如此重複m個回合,所有你擦去的數字之和就是你所得到的分數。小w...

動態規劃 sicily1221

解題思路 題目有個地方,我理解錯了,導致wa很多次,問題是當你擦除a i 時,你要將它對應的b i 去減剩餘的序列,之前一直以為第i輪就減去b i orz。簡單的動態,dp i 表示去到第i輪時的最大擦出和。按照我們直觀的思路,肯定是最大消費的 也就是b i 比較大的 應該先拿掉,因此我們先按照co...