#include<bits/stdc++.h>
using namespace std;
const int INF = 0x3f3f3f3f;
int main() {
int k, xend, n;
cin >> k >> xend >> n;
vector<pair<int, int>> shops(n);
for ( ) {
cin >> >> >> ;
}
vector<vector<int>> dp(n + 1, vector<int>(k + 1, INF));
dp[0][0] = 0;
for ( ) {
for ( ) {
if (j > 0) {
dp[i][j] = min(dp[i][j], dp[i - 1][j] + j * j);
}
if (i < n) {
for ( ) {
dp[i][j + f] = min(dp[i][j + f], dp[i - 1][j] + f * f * (i - 1) + shops[i - 1].first * f * f);
}
}
}
}
int result = INF;
for (int j = k; j <= k; j++) {
// 取最小值结果更新最终答案
}
cout << << endl;
return 0;
}
仁慈的我决定给你写段伪代码