Pagini recente » Cod sursa (job #1109686) | Cod sursa (job #592241) | Cod sursa (job #3173351) | Cod sursa (job #2112213) | Cod sursa (job #41306)
Cod sursa(job #41306)
#include <stdio.h>
#include <vector>
#include <algorithm>
using namespace std;
long long l;
long long nr[41];
int ind[41];
int ap[41];
int fol[41];
int c;
int i;
int n, nmon;
inline long long pow( int a, int n )
{
int r = 1;
for ( int i = 1; i <= n; i++ )
r *= a;
return r;
}
int main()
{
int j,aux;
freopen("shop.in","r",stdin);
freopen("shop.out","w",stdout);
scanf("%d %d %Ld\n", &n, &c, &l);
for ( i = 1; i <= n; i++ ) {
scanf("%Ld %d\n", &nr[i], &ap[i] );
nr[i] = pow( c, nr[i] );
ind[ i ] = i;
}
for ( i = 1; i <= n; i++ )
for ( j = 1; j < n; j++ )
if ( nr[ ind[j] ] < nr[ ind[j+1] ] )
{
aux = ind[j];
ind[j] = ind[j+1];
ind[j+1] = aux;
}
i = 1;
while ( l ) {
++nmon;
while ( ap[ ind[i] ] == fol[ ind[i] ] || nr[ ind[i] ] > l ) i++;
l -= nr[ ind[i] ];
fol[ ind[i] ]++;
}
printf("%d\n", nmon );
for ( i = 1; i <= n; i++ )
printf("%d ", fol[i] );
printf("\n");
fclose(stdin);
fclose(stdout);
return 0;
}