Pagini recente » Monitorul de evaluare | Cod sursa (job #2724238) | Cod sursa (job #782255) | Cod sursa (job #3319718) | Cod sursa (job #3320920)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int main(){
int n,tg;
fin>>n>>tg;
vector<int>dp(1000000,INT_MAX-100);
vector<pair<int,int>>v(n);
for(auto &x:v){
fin>>x.first>>x.second;
}
dp[0]=0;
int out=INT_MAX-1;
for(int i=0;i<n;i++){
for(int j=10001-v[i].first;j>=0;j--){
dp[j+v[i].first]=min(dp[j+v[i].first],dp[j]+v[i].second);
}
}
int rez=INT_MAX-1;
for(int i=tg;i<=10000;i++){
if(i>=tg)rez=min(rez,dp[i]);
}
if(rez!=INT_MAX-1)fout<<rez;
else fout<<"-1";
return 0;
}