Cod sursa(job #1418064)

Utilizator alexandra_udristoiuUdristoiu Alexandra Maria alexandra_udristoiu Data 11 aprilie 2015 20:55:14
Problema Energii Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include<fstream>
using namespace std;
int n, w, i, j, minim, x;
int f[20002], c[20002];
pair<int, int> v[1001];
ifstream fin("energii.in");
ofstream fout("energii.out");
int main(){
    fin>> n >> w;
    for(i = 1; i <= n; i++){
        fin>> v[i].first >> v[i].second;
    }
    for(i = 1; i <= 20000; i++){
        c[i] = 1000000000;
    }
    minim = 1000000000;
    f[0] = 1;
    c[0] = 0;
    for(i = 1; i <=  n; i++){
        for(j = w; j >= 0; j--){
            if(f[j] == 1){
                x = j + v[i].first;
                if(x > w){
                    c[w] = min(c[w], c[j] + v[i].second);
                }
                else{
                    c[x] = min(c[x], c[j] + v[i].second);
                    f[x] = 1;
                }
            }
        }
    }
    fout<< c[w] <<"\n";
    return 0;
}