Pagini recente » Borderou de evaluare (job #1486520) | Borderou de evaluare (job #636739) | Borderou de evaluare (job #1937459) | Borderou de evaluare (job #1870341) | Cod sursa (job #2346862)
#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 [ 40 ] , c , l , n , i , ex , nr , maxim , cat , ans [ 40] , best , bestex ;
int main ()
{
in >> n >> c >> l ;
for ( i = 1 ; i <= n ; ++ i )
{
in >>ex >> nr ;
st.pb(ex) ;
nrap [ ex ] = nr ;
bestex = max ( bestex , ex ) ;
}
maxim = 1 ;
for ( i = 1 ; i<= bestex ; ++ i ) maxim *= c ;
for ( i = bestex ; 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 ] ] << ' ' ;
}