Cod sursa(job #1746157)

Utilizator Cudrici_CarinaCudrici Carina Cudrici_Carina Data 22 august 2016 18:33:35
Problema Shop Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.07 kb
#include <fstream>
#include <algorithm>

using namespace std;
ifstream fi("shop.in");
ofstream fo("shop.out");
int n,c,i,j,s,poz,monezi;
struct a {int nr;int cap;int initial;int folosite;} x[40];

int cmp (a A, a B){ return A.nr<B.nr; }

int putere(int baza, int expon)
{if(expon==0) return 1;
 int rez=1;
    for(int i=1;i<=expon;i++) rez*=baza;
 return rez;
}

int main()
{
   fi>>n>>c>>s;
   for(i=1;i<=n;i++) {fi>>x[i].nr>>x[i].cap;
                      x[i].initial=i;
                      }
   sort(x+1,x+n+1,cmp);
   for(i=1;i<=n;i++) x[i].nr=putere(c,x[i].nr);

poz=n;
while(s)
{ while(x[poz].cap>=1 and s-x[poz].nr>=0) {s-=x[poz].nr;
                                          x[poz].cap--;
                                          x[poz].folosite++;
                                          monezi++;}
  poz--;
}
fo<<monezi<<'\n';
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
  if(x[j].initial==i) fo<<x[j].folosite<<" ";

//fo<<'\n';
//for(i=1;i<=n;i++) fo<<x[i].nr<<" "<<x[i].cap<<" "<<x[i].initial<<" "<<x[i].folosite<<'\n';
    return 0;

}