Cod sursa(job #3220354)

Utilizator andreigspdAndrei Gospodaru andreigspd Data 3 aprilie 2024 12:36:05
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.45 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],inf=1e7;

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]=inf;
 for(int i=1;i<=n;i++){
    for(int j=S;j>=0;j--){
        k=j+w[i];
        if(k>=S)k=S;
        d[k]=min(d[k],d[j]+p[i]);
    }
 }
 if(d[S]!=inf)fout<<d[S];
 else fout<<-1;
}