[洛谷1855]榨取kkksc03

思路:

基础动规。

 1 #include<cstdio>
 2 #include<cctype>
 3 #include<cstring>
 4 #include<algorithm>
 5 inline int getint() {
 6     char ch;
 7     while(!isdigit(ch=getchar()));
 8     int x=ch^'0';
 9     while(isdigit(ch=getchar())) x=(((x<<2)+x)<<1)+(ch^'0');
10     return x;
11 }
12 int main() {
13     int n=getint(),m=getint(),t=getint();
14     int f[m+1][t+1];
15     memset(f,0,sizeof f);
16     f[0][0]=1;
17     int ans=0;
18     for(int i=1;i<=n;i++) {
19         int mm=getint(),tt=getint();
20         for(int j=m-mm;j>=0;j--) {
21             for(int k=t-tt;k>=0;k--) {
22                 if(f[j][k]) {
23                     f[j+mm][k+tt]=std::max(f[j+mm][k+tt],f[j][k]+1);
24                     ans=std::max(ans,f[j+mm][k+tt]);
25                 }
26             }
27         }
28     }
29     printf("%d\n",ans-1);
30     return 0;
31 }

 

posted @ 2017-08-17 10:35  skylee03  阅读(145)  评论(0编辑  收藏  举报