Cod sursa(job #2253983)
| Utilizator | Data | 4 octombrie 2018 17:47:35 | |
|---|---|---|---|
| Problema | Shop | Scor | 60 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.6 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f("shop.in");
ofstream g("shop.out");
int main()
{
uint64_t N,C,L;
f>>N>>C>>L;
vector<int> V(N);
map<int,uint64_t> M,K;
for(int i=0,p,x;i<N;i++)
{
f>>p>>x;
M[p]=x;
V[i]=p;
}
for(auto it=--M.end();it!=M.begin();--it)
{
int p=pow(C,it->first);
K[it->first]=min(it->second,L/p);
L-=K[it->first]*p;
}
K[0]=L;
uint64_t s=0;
for(auto i:V) s+=K[i];
g<<s<<'\n';
for(auto i:V)
g<<K[i]<<' ';
return 0;
}
