Cod sursa(job #3220347)
Utilizator | Andrei Gospodaru andreigspd | Data | 3 aprilie 2024 12:21:14 |
---|---|---|---|
Problema | Energii | Scor | 5 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.42 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int n,S,k,d[100001],w[100001],p[100001];
int main(){
fin>>n>>S;
for(int i=1;i<=n;i++)fin>>w[i]>>p[i];
d[0]=0;
for(int i=1;i<=S;i++)d[i]=INT_MAX-10001;
for(int i=1;i<=n;i++){
for(int j=0;j<=S-1;j++){
k=j+w[i];
if(k>=S)k=S;
d[k]=min(d[k],d[j]+p[i]);
}
}
fout<<d[S];
}