Cod sursa(job #2346859)

Utilizator Andrei-27Arhire Andrei Andrei-27 Data 18 februarie 2019 10:31:08
Problema Shop Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <bits/stdc++.h>
#define pb push_back
using namespace std ;
ifstream in ("shop.in") ;
ofstream out ("shop.out") ;
deque < int > st ;
int64_t nrap [ 12 ] , c , l , n , i , ex , nr , maxim , cat , ans [ 12 ] , best;
int main ()
{
    in >> n >> c >> l ;
    for ( i = 1 ; i <= n ; ++ i )
    {
        in >>ex >> nr ;
        st.pb(ex) ;
        nrap [ ex ] = nr ;
    }
    maxim = 1 ;
    for ( i = 1 ; i<= 10 ; ++ i )   maxim *= c ;
    for ( i = 10 ; i >= 0 ; i -- )
    {
        if ( nrap [ i ] )
        {
            cat = l / maxim ;
            l -= min ( cat , nrap [ i ] ) * maxim ;
            ans [ i ] = min ( cat , nrap [ i ] ) ;
            best += ans [ i ] ;
        }
        maxim /= c ;
    }
    out << best << '\n' ;
    for ( size_t j = 0 ; j < st.size() ; j ++ ) out << ans [ st [ j ] ] << ' ' ;
}