/10 改成 /1000 是样例都过不了的,所以似乎正确性是不保证的。
#include <bits/stdc++.h>
using namespace std;
int dp[99999999];
int main()
{
int l = 0, r, y, n;
cin >> r >> y >> n;
int c[n], v[n];
int n2 = n;
while (--n + 1)
scanf("%d%d", &c[n], &v[n]);
for (int i = 0; i <= r / 10; i++)
dp[i] = i * 10;
for (int i = 0; i < y; i++)
{
for (int j = 0; j < n2; j++)
for (int k = max(c[j], l) / 10; k <= r / 10; k++)
dp[k] = max(dp[k], dp[k - c[j] / 10] + c[j] + v[j]);
l = r;
r = dp[r / 10];
}
cout << r << endl;
return 0;
}