why
查看原帖
why
1409685
zhaoyikuan楼主2025/6/24 00:09

为什么十六行的i<mi<m换成i<=mi<=mACAC了,他是怎么卡到mm

#include <iostream>
using namespace std;
int n, m, a[30], dp[33334], k, ans;
int main() {
	cin >> n;
	for(int i = 1; i <= n; i ++) {
		cin >> a[i];
		for(int j = i; j <= 33333; j ++) {
			dp[j] = max(dp[j], dp[j - i] + a[i]);
		}
	}
	cin >> m;
	string s;
	cin >> s;
	s = s + "kkk";
	for(int i = 0; i < m; i ++) {
		if(s[i] == 'a' && s[i + 1] == 'b' && s[i + 2] == 'c') {
			i += 2;
			k ++;
		}
		else {
			ans += dp[k];
			k = 0;
		}
	}
	cout << ans;
	return 0;
}
2025/6/24 00:09
加载中...