Cod sursa(job #2496255)

Utilizator ion.popaPOPA ION ion.popa Data 20 noiembrie 2019 16:34:54
Problema Shop Scor 0
Compilator cpp-64 Status done
Runda ad_hoc Marime 0.93 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("zaharel.in");
ofstream g("zaharel.out");
int n,c,L,a[31],t[31],i,j,v[31],w[31],z[31],nr,nrt,nrb[31];
void citire()
{
    f>>n>>c>>L;
    for(i=1;i<=n;i++)
    {
        f>>v[i]>>nrb[i];w[i]=i;
        a[i]=pow(c,v[i]);
    }
}

void sortare()
{
    for(i=1;i<=n-1;i++)
        for(int j=i+1;j<=n;j++)
        if(a[i]<a[j])
            {swap(a[i],a[j]);swap(w[i],w[j]);swap(nrb[i],nrb[j]);}
}
void sortare1()
{
    for(i=1;i<=n-1;i++)
        for(int j=i+1;j<=n;j++)
        if(w[i]>w[j])
            {swap(w[i],w[j]);swap(z[i],z[j]);swap(nrb[i],nrb[j]);}
}
void greedy()
{
    for(i=1;i<=n;i++)
    {
        nr=min(nrb[i],L/a[i]);
        L=L-nr*a[i];
        z[i]=nr;
        nrt+=nr;
    }
}
void afisare()
{
    for(i=1;i<=n;i++)
        g<<z[i]<<" ";
}

int main()
{citire();
sortare();
greedy();
g<<nrt<<endl;
sortare1();
afisare();
}