Cod sursa(job #2021220)

Utilizator whitewolf3131Ursu Laurentiu Cristian whitewolf3131 Data 12 septembrie 2017 21:35:35
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <stdio.h>
using namespace std;
int v[5003];
int main(){
    FILE *in, *out;
    in = fopen("energii.in", "r");
    out = fopen("energii.out", "w");
    int g, w;
    fscanf(in, "%d%d", &g, &w);
    for(int i=1; i<=g; i++){
        int pro, cost;
        fscanf(in, "%d%d", &pro, &cost);
        for(int j=w; j>=pro; j--){
            if(v[j-pro]!=0){
                if(cost<v[j-pro]){
                    v[j]=v[j-pro]+cost;
                    v[j-pro]=cost;
                }
                else{
                    v[j]=v[j-pro]+cost;
                }
            }
            if(j-pro==0){
                if(v[j]>cost || v[j]==0){
                    v[j]=cost;
                }
            }
        }

    }
    if(v[w]!=0)
        fprintf(out, "%d", v[w]);
    else
        fprintf(out, "%d", -1);
    return 0;
}