Pagini recente » Cod sursa (job #2037280) | Cod sursa (job #1851284) | Cod sursa (job #555741) | Cod sursa (job #113396) | Cod sursa (job #2073111)
#include <bits/stdc++.h>
#define NMAX 10001000
#define x first
#define y second
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
ll N,C,L,P[40],RS[50],rs;
pair< ll , pll > A[50];
int main(){
ifstream cin("shop.in");
ofstream cout("shop.out");
ios_base::sync_with_stdio(0);cin.tie(0);
cin >> N >> C >> L;
P[0]=1;
for(int i = 1;i<35;i++) P[i]=min(P[i-1]*C,L+1);
for(int i = 0;i<N;i++){
cin >> A[i].x >> A[i].y.x;
A[i].y.y = i;
A[i].x*=-1;
}
sort(A,A+N);
for(int i = 0;i<N;i++){
A[i].x *= -1;
if(P[A[i].x] <= L){
RS[A[i].y.y]=(min(L/P[A[i].x],A[i].y.x));
L-= RS[A[i].y.y]*P[A[i].x];
rs+=RS[A[i].y.y];
}
}
cout << rs << '\n';
for(int i = 0;i<N;i++) cout << RS[i] << ' ';
return 0;
}