牛客 Sequence Game
学校OJ测出来20分
求各位大佬帮调
#include <bits/stdc++.h>
using namespace std;
const int N = 5e3 + 5, M = 1e3 + 5;
int n, k;
int a, flag[N][M], dp[N][M];
int ans = 0;
int main() {
cin >> k >> n;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= k; j++) {
cin >> a;
flag[i][a] = 1;
}
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= 1e3; j++) {
dp[i][j]=dp[i-1][j];
dp[i][j] = max(max(dp[i][j - 1], dp[i][j]), dp[i - 1][j - 1] + flag[i][j]);
ans = max(ans, dp[i][j]);
}
}
cout << ans;
return 0;
}