https://www.luogu.com.cn/problem/U137145
自己搞到的一道题,是一个很普通的DP, 但是蒟蒻像下面这么写,样例都没过,求助
#include <bits/stdc++.h>
using namespace std;
#define N 1000010
#define ll long long
template <class T>
inline void read(T& a){
T x = 0, s = 1;
char c = getchar();
while(!isdigit(c)){ if(c == '-') s = -1; c = getchar(); }
while(isdigit(c)){ x = x * 10 + (c ^ '0'); c = getchar(); }
a = x * s;
return ;
}
ll f[1010][110];
ll n, m;
ll x[N], y[N];
ll len[N];
int main(){
// freopen("temp.txt", "r", stdin);
cin >> n >> m;
for(int i = 1; i <= n; i++)
cin >> x[i] >> y[i], len[i] = y[i] - x[i] + 1;
f[1][1] = 0;
for(int i = 1; i <= n; i++){
for(int j = 1; j <= m; j++)
for(int k = 1; k < i; k++)
f[i][j] = max(f[i][j], f[k][j - 1] + len[i] * (i - k)), printf("i: %d j: %d dp: %lld S: %d\n", i, j, f[i][j], len[i] * (i - k));
}
ll ans = 0;
for(int i = 1; i <= n; i++)
for(int j = 1; j <= m; j++)
ans = max(ans, f[i][j]);
cout << ans << endl;
return 0;
}