Pagini recente » Cod sursa (job #1857528) | Cod sursa (job #1493546) | Cod sursa (job #2825837) | Cod sursa (job #395330) | Cod sursa (job #1977067)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream F("shop.in");
ofstream G("shop.out");
int n, c, sol[35];
long long l, p = 1, s, k;
pair<int, pair<int,int> > v[35];
int main()
{
F >> n >> c >> l;
for(int i = 0; i < n; ++ i)
F >> v[i].first >> v[i].second.first, v[i].second.second = i;
sort(v, v + n);
int put = v[n - 1].first;
for(int i = 1; i <= put; ++ i)
p *= c;
int j;
for(int i = n - 1; i > -1 && s < l; -- i)
{
j = 0;
while(put > v[i].first)
p /= c, put --;
while(j < v[i].second.first && p + s <= l)
s += p, ++ j, ++ k;
sol[v[i].second.second] = j;
}
G << k << '\n';
for(int i = 0; i < n; ++ i)
G << sol[i] << " ";
return 0;
}