满江红
查看原帖
满江红
856577
Kujo_Jotaro2011楼主2023/9/24 15:03
#include<bits/stdc++.h>
using namespace std;
int n,h,ans,f[100],d[100],t[100],cnt[100];
int main(){
	cin>>n>>h;
	h *= 12;
	for(int i = 0;i < n;++i){
		cin>>f[i];
	}
	for(int i = 0;i < n;++i){
		cin>>d[i];
	}
	for(int i = 1;i < n;++i){
		cin>>t[i];
		t[i] += t[i - 1]; 
	}
	for(int k = 0;k < n;++k){
		int total = 0;
		for(int i = 0;i < h - t[k];++i){
			int max_t = -1,max_j = -1;
			for(int j = 0;j <= k;++j){
				if(f[j] - d[j] * cnt[j] > max_t){
					max_t = f[j] - d[j] * cnt[j];
					max_j = j;
				}
			}
			if(max_t <= 0) break;
			total += max_t;
			++cnt[max_j];
		}
		ans = max(ans,total);
	}
	cout<<ans;
	return 0;
} 

什么问题?

2023/9/24 15:03
加载中...