Cod sursa(job #2589295)

Utilizator CraiuAndrei Craiu Craiu Data 26 martie 2020 06:11:05
Problema Shop Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("shop.in");
ofstream fout("shop.out");

long long L, p, a[102], b[102];
int n, c, poz[102];

inline void Read()
{
    int i, j, k;
    fin >> n >> c >> L;
    for(i = 1; i <= n; ++i)
    {
        fin >> j >> k;
        a[j] = k;
        poz[i] = j;
    }
}

inline void Solve()
{
    int k, i;
    k = 0;
    while(L > 0)
    {
        b[k++] = L % c;
        L /= c;
    }
    for(i = 35; i > 0; --i)
    {
        if(b[i] > a[i])
        {
            b[i - 1] += 1LL * (b[i] - a[i]) * c;
            b[i] = a[i];
        }
        p += b[i];
    }
    p += b[0];
}

inline void Write()
{
    int i;
    fout << p << "\n";
    for(i = 1; i <= n; ++i)
        fout << b[poz[i]] << " ";
    fout << "\n";
}

int main()
{
    Read();
    Solve();
    Write();
    return 0;
}