Cod sursa(job #3220347)
| Utilizator | 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];
}
