23 lines
521 B
C++
23 lines
521 B
C++
#include <iostream>
|
|
#include <utility>
|
|
#include <vector>
|
|
using namespace std;
|
|
typedef long long ll;
|
|
int main(){
|
|
ll t, m;
|
|
cin >> t >> m;
|
|
vector<pair<ll, ll>> arr(m);
|
|
vector<ll> dp(t + 1, 0);
|
|
for (int i = 0; i < m; i++) {
|
|
cin >> arr[i].first >> arr[i].second;
|
|
}
|
|
//״̬-> dp[i] = max(dp[i - time[i]] + value[i])
|
|
for(int i = 1; i < t + 1; i++){
|
|
for(int j = 0; j < m; j++){
|
|
if(i - arr[j].first >= 0) dp[i] = max(dp[i], dp[i - arr[j].first] + arr[j].second);
|
|
}
|
|
}
|
|
cout << dp[t] << endl;
|
|
return 0;
|
|
}
|