Cod sursa(job #2021224)

Utilizator whitewolf3131Ursu Laurentiu Cristian whitewolf3131 Data 12 septembrie 2017 21:38:13
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 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=5002; 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;
                }
            }
        }

    }
    bool tru=true;
    for(int i=w; i<5002 && tru; i++){
        if(v[i]!=0){
            fprintf(out, "%d", v[i]);
            tru=false;
        }
    }
    if(tru)
        fprintf(out, "%d", -1);
    return 0;
}