QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#587188#5303. No Bug No Gamewsxcb#WA 396ms497836kbC++171.3kb2024-09-24 18:06:262024-09-24 18:06:26

Judging History

你现在查看的是最新测评结果

  • [2024-09-24 18:06:26]
  • 评测
  • 测评结果:WA
  • 用时:396ms
  • 内存:497836kb
  • [2024-09-24 18:06:26]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
const int INF=1e18;
using ll = long long;
void solve(){
	
	int n , k; cin >> n >> k;
	
	vector<vector<vector<ll>>> f(n + 1 , vector<vector<ll>>(k + 10 , vector<ll>(2)));
	vector<int>p (n + 1);
	vector<vector<int>> w(n + 1 , vector<int>(20));
	
	for(int i = 1 ; i <= n ; i++){
		cin >> p[i];
		for(int j = 1 ; j <= p[i] ; j++){
			cin >> w[i][j];
		}
	}
	
	//cout << '\n';
	for(int i = 1 ; i <= n ; i++){
		for(int j = k ; j >= 0 ; j--){
			f[i][j][0] = f[i - 1][j][0] , f[i][j][1] = f[i - 1][j][1];
			if(j + p[i] <= k){
				f[i][j + p[i]][0] = max(f[i][j + p[i]][0] , max(f[i - 1][j][1] , f[i - 1][j][0]) + w[i][p[i]]);
				f[i][j + p[i]][1] = max(f[i][j + p[i]][1] , f[i - 1][j][0] + w[i][p[i]]);
			}
			for(int q = 1 ; q + j <= k && q < p[i] ; q++){
				f[i][j + q][1] = max(f[i][j + q][1] , f[i - 1][j][0] + w[i][q]);
			}
		}
//		for(int j = k ; j >= 0 ; j--){
//			cout << j << ' ' << f[i][j][0] << ' ' << f[i][j][1] << '\n';
//		}
	}
	
	ll mx = 0;
	for(int i = 1 ; i <= n ; i++){
		
		for(int j = 0 ; j <= k ; j++){
			mx = max({mx , f[i][j][0] , f[i][j][1]});
		}
	}
	cout << mx << '\n';
	
}

int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	
	int T = 1;
	while(T--){
		solve();
	}
	
	return 0;
} 

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3544kb

input:

4 5
2 1 3
2 1 1
2 3 1
2 1 3

output:

9

result:

ok 1 number(s): "9"

Test #2:

score: -100
Wrong Answer
time: 396ms
memory: 497836kb

input:

3000 3000
10 70562 30723 79371 82224 63977 3362 26909 96449 48163 66159
4 18007 33590 80674 91139
4 10304 31694 70745 50656
10 63090 17226 13187 73881 38137 15237 55750 82751 75854 39658
8 95640 66120 87735 36388 44046 92415 6952 94772
9 60565 27904 98726 87052 35768 25453 14563 34273 92501
10 66332...

output:

114175400

result:

wrong answer 1st numbers differ - expected: '68279788', found: '114175400'