Cod sursa(job #2456635)

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

using namespace std;

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

long long total;

struct produs
{
    long long 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(long long spt, long long cant, long long S){
    long long mini = 0x3f3f3f3f;
    for(auto it: v){
        long long act = it.cost * cant + cant * (spt - it.sapt) * S;
        mini = min(mini, act);
    }
    total += mini;
}

int main()
{
    long long cant;
    long long N, S, T; fin >> N >> S >> T;
    for(long long 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;
}