44 lines
861 B
C++
44 lines
861 B
C++
#include <algorithm>
|
|
#include <cctype>
|
|
#include <cstdio>
|
|
#include <iostream>
|
|
#include <ostream>
|
|
using namespace std;
|
|
|
|
const int MAX = 200+5;
|
|
int n,M,T;
|
|
int m[MAX],t[MAX];
|
|
int readint();
|
|
int dp[MAX][MAX];
|
|
|
|
int main(){
|
|
n=readint(),M=readint(),T=readint();
|
|
for(int i=1;i<=n;i++){
|
|
m[i]=readint(),t[i]=readint();
|
|
}
|
|
for(int i=1;i<=n;i++){
|
|
for(int j=M;j>=1;j--){
|
|
for(int k=T;k>=1;k--){
|
|
dp[j][k] = dp[j][k];
|
|
if(j>=m[i]&&k>=t[i]){
|
|
dp[j][k] = max(dp[j][k],dp[j-m[i]][k-t[i]]+1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
cout<<dp[M][T]<<endl;
|
|
}
|
|
|
|
int readint(){
|
|
int x=0,w=1;
|
|
char ch=0;
|
|
while(!isdigit(ch)){
|
|
if(ch=='-')w=-1;
|
|
ch=getchar();
|
|
}
|
|
while(isdigit(ch)){
|
|
x=x*10+(ch-'0');
|
|
ch=getchar();
|
|
}
|
|
return x*w;
|
|
} |