Cod sursa(job #2456634)

Utilizator dragomirmanuelDragomir Manuel dragomirmanuel Data 14 septembrie 2019 22:31:06
Problema Branza Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>

using namespace std;

const int NMax = (int)1e5+10;
ifstream fin("branza.in");
ofstream fout("branza.out");

int total;

struct produs
{
    int cost, ramas, sapt;
};

vector < produs > v;

void elimina(){
    vector < produs > aux;
    for(auto it: v){
        it.ramas--;
        if(it.ramas){
            aux.push_back(it);
        }
    }

    v = aux;
}

void alege(int spt, int cant, int S){
    int mini = 0x3f3f3f3f;
    for(auto it: v){
        int act = it.cost * cant + cant * (spt - it.sapt) * S;
        mini = min(mini, act);
    }
    total += mini;
}

int main()
{
    int cant;
    int N, S, T; fin >> N >> S >> T;
    for(int i=1; i<=N; i++){
        elimina();
        produs pr;
        fin >> pr.cost >> cant;
        pr.ramas = T;
        pr.sapt = i;
        v.push_back(pr);
        alege(i, cant, S);
    }

    fout << total;

    return 0;
}