Pagini recente » Cod sursa (job #3287804) | Cod sursa (job #2173918) | Cod sursa (job #2098923) | Cod sursa (job #3259418) | Cod sursa (job #873298)
Cod sursa(job #873298)
#include<cstdio>
#include<algorithm>
#include<math.h>
#include<fstream>
#define MAX_N 150
using namespace std;
ifstream f("shop.in");
ofstream g("shop.out");
long long int v[MAX_N],l,v1[MAX_N],ind[MAX_N],used[MAX_N],number;
int n,c;
long long cmp(long long i,long long j)
{
return v[i]>v[j];
}
inline void solve( void )
{
sort(ind+1,ind+n+1,cmp);
for(long long index(1); index <= n ; ++index)
{
if(l==0)
break;
while( v1[ind[index]] && l >= pow(c,v[ind[index]]) )
{
l-=1LL*pow( c , v[ind[index]] );
used[ind[index]]++;
number++;
v1[ind[index]]--;
}
}
}
inline void write( void )
{
g<<number<<"\n";
for(int i(1); i <= n ; ++i)
g<<used[i]<<" ";
}
int main( void )
{
f>>n>>c>>l;
for( long long index(1); index <= n ; ++index)
{
f>>v[index]>>v1[index];
ind[index]=index;
}
solve();
write();
return 0;
}