Cod sursa(job #2134157)

Utilizator alexperryPereanu Alexandru alexperry Data 17 februarie 2018 18:09:44
Problema Energii Scor 10
Compilator c Status done
Runda Arhiva de probleme Marime 1.2 kb
#include <stdio.h>
#include <stdlib.h>

int main()
{

    FILE* f=fopen("energii.in","r");
    if(f==NULL)
    {
        printf("Nu am putut citi sirul din fisier ");
        exit(0);
    }

    FILE* g = fopen("energii.out", "w");
    if(g == NULL )
    {
        printf("Nu am putut afisa rezultatul in fisier ");
        exit(1);
    }

    typedef struct
    {
        int w;
        int c;
    } generator;
    generator v[1001];
    int ge;
    int afisare=0;
    int nr;
    fscanf(f, "%d %d", &ge, &nr);
    for(int i=0; i<ge; i++)
        fscanf(f,"%d %d",&v[i].w,&v[i].c);
    int energie=0;
    int cost=0, costminim=10000;
    for(int i=0; i<ge; i++)
    {
        energie=v[i].w;
        cost=v[i].c;
        for(int j=i+1; j<ge; j++)
        {
            energie+=v[j].w;
            cost+=v[j].c;
            if(energie>=nr)
            {
                if(costminim>cost)
                    costminim=cost;
                afisare=1;
            }

        }


        energie=0;
        cost=0;
    }

    if(afisare==0)
        fprintf(g,"%d", -1);
    else
        fprintf(g,"%d", costminim);

    fclose(f);
    fclose(g);

    return 0;
}