|
- #include<iostream>
- using namespace std;
- int V,n,c,ans=-1,vi,ki;
- long long dp[10001];
- int main()
- {
- cin>>V>>n>>c;
- for(int i=1; i<=n; i++)
- {
- cin>>vi>>ki;
- for(int j=c; j>=ki; j--)
- {
- dp[j]=max(dp[j],dp[j-ki]+vi);
- if(dp[j]>=V)ans=max(ans,c-j);
- }
- }
- if(ans==-1)cout<<"Impossible";
- else cout<<ans;
- return 0;
- }
复制代码 |
|