Pagini recente » Cod sursa (job #550730) | Cod sursa (job #599899) | Cod sursa (job #521903) | Cod sursa (job #2773293) | Cod sursa (job #805687)
Cod sursa(job #805687)
#include <iostream>
#include <fstream>
#include <algorithm>
#define putere first
#define numar second
#define x first
#define y second
#define p pair<pair <int,int> , pair<int,int> >
using namespace std;
p a[32];
int ap[32];
bool cmp(p a ,p b)
{
return a.y>b.y;
}
int main()
{
int n,c,l;
ifstream f("shop.in");
ofstream g("shop.out");
f>>n>>c>>l;
for(int i=1;i<=n;i++)
{
f>>a[i].x.putere>>a[i].x.numar;
a[i].y.x=1;
a[i].y.y=i;
for(int j=1;j<=a[i].x.putere;j++,a[i].y.x*=c);
// cout<<a[i].y.x<<endl;
}
sort(a+1,a+n+1,cmp);
int S=0;
int P=0;
while(S!=l)
{
for(int i=1;i<=n;i++) // incepem cu cele mai mari
{
int dist=l-S;
int k=dist/a[i].y.x;
k=min(k,a[i].x.numar);
S+=k*a[i].y.x;
P+=k;
ap[a[i].y.y]=k;
}
}
g<<P<<endl;
for(int i=1;i<=n;i++)
g<<ap[i]<<" ";
return 0;
}