Pagini recente » Cod sursa (job #2484639) | Cod sursa (job #1855451) | Cod sursa (job #2332775) | Cod sursa (job #1874291) | Cod sursa (job #741336)
Cod sursa(job #741336)
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
long long ridica_la_putere(int a, int b) {
long long rez=1;
int i;
for(i=1; i<=b; i++) rez*=a;
return rez;
}
int main() {
ifstream f("shop.in");
ofstream g("shop.out");
long long n, l, c, i, max=1, folosite[35];
int v[35][2]; //v[i][1] ii Ai (puterea)
//v[i][2] ii Bi (nr de monede)
f>>n>>c>>l;
for(i=1; i<=n; i++) {
f>>v[i][1]>>v[i][2];
// v[i][1] = ridica_la_putere( c, v[i][1] );
folosite[i]=0;
}
while(l>0) {
max=1;
for(i=2; i<=n; i++) {
if(v[i][1] >= v[max][1] && v[i][1] <= l && v[i][2] > 0) max=i;
}
//cout<<l<<" ";
while(l >= v[max][1]) { //&& v[max][2]>0) {
v[max][2]--;
l-=v[max][1];
folosite[max]++;
}
}
long long s=0;
for(i=1; i<=n; i++) s+=folosite[i];
g<<s<<"\n";
for(i=1; i<=n; i++) g<<folosite[i]<<" ";
g<<"\n";
f.close();
g.close();
return 0;
}