Pagini recente » Cod sursa (job #1565690) | Cod sursa (job #2448924) | Cod sursa (job #1416935) | Cod sursa (job #2643863) | Cod sursa (job #37670)
Cod sursa(job #37670)
#include <fstream.h>
#include <math.h>
int b[30],e[30];
int main ()
{
long double l,a[30],x;
int n,c,i,nr,d[30];
ifstream f("shop.in");
ofstream g("shop.out");
f>>n;
f>>c;
f>>l;
for (i=0;i<n;i++)
{
f>>nr;
a[i]=pow(c,nr);
f>>b[i];
d[i]=i;
}
int ct=1,y;
while (ct!=0)
{
for (i=0;i<n-1;i++)
{
if (a[i]>a[i+1])
{
x=a[i];
y=b[i];
b[i]=b[i+1];
a[i]=a[i+1];
d[i]=i+1;
d[i+1]=i;
b[i+1]=y;
a[i+1]=x;
ct=1;
}
else
{
ct=0;
}
}
}
ct=0;
int m=n;
while (l!=0)
{
if ((l-a[n-1]>=0)&&(b[n-1]!=0))
{
l=l-a[n-1];
ct++;
b[n-1]--;
e[n-1]++;
}
else
{
n--;
}
}
g<<ct<<endl;
int j;
for(i=0;i<m;i++)
if (e[d[i]]!=0)
g<<e[d[i]]<<" ";
g.close ();
f.close ();
return 0;
}