Cod sursa(job #1333704)

Utilizator forever16Alex M forever16 Data 3 februarie 2015 15:02:04
Problema Shop Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <iostream>
#include<fstream>
#include<algorithm>
#define nmax 10005
using namespace std;
    ifstream f("shop.in");
    ofstream g("shop.out");
long long n, c,d[nmax],e[nmax], l,  s=1, nr=0;

struct puncte{long long a,b;} q[nmax];

long long cmp(puncte a,puncte b)
{     return a.b>b.b; }

int val(int x)
{ long s=1;
for(long i=1; i<=x; i++) s*=c;
return s;
}
int main()
{   f>>n>>c>>l;
for(long i=1; i<=n; i++)
    f>>q[i].a>>q[i].b, e[i]=q[i].a;
sort(q+1, q+n+1, cmp);
for(long i=n; i>0; i--)
{ s=val(q[i].a); long aux=q[i].b; long nr1=0;
 while(l>=s and aux!=0) l-=s, aux--,nr++,nr1++, d[i]=nr1;
 //cout<<l<<" "<<s<<" "<<aux<<" "<<nr1<<" "<<"\n";
 d[q[i].a]=nr1;}

g<<nr<<"\n";
for(long i=1; i<=n; i++) g<<d[e[i]]<<" ";
    return 0;
}