求助 9 ,10测试点超时
查看原帖
求助 9 ,10测试点超时
790905
ljk654321楼主2023/12/16 10:46

rt,rt,9,10测试点超时,不知道怎么改

#include<bits/stdc++.h>
using namespace std;
int f[100001] , w[100001] , v[100001] , s[100001] ;
int read()
{
	int x = 0,f = 1;
	char c = getchar();
	while(c < '0' || c > '9'){
		if(c == '-') f=-1;
		c = getchar();
	}
	while(c >= '0' && c <= '9'){
		x = x*10 + c-'0';
		c = getchar();
	}
	return x * f;
}
int main()
{
	int n , m ;
	n = read() , m = read() ;
	for(int i = 1 ; i <= n ; i++)
	{
		v[i] = read() , w[i]= read() , s[i] = read() ;
	}
	for (int i = 1; i <= n; i++)
        for (int j = 1; j <= s[i] ; j++)
        	for (int k = m; k >= w[i] ; k--)
            	f[k] = max(f[k] , f[k - w[i]] + v[i]); 
	cout << f[m] ;
    return 0;
}
2023/12/16 10:46
加载中...