Cod sursa(job #2093446)

Utilizator NicolaalexandraNicola Alexandra Mihaela Nicolaalexandra Data 23 decembrie 2017 18:14:52
Problema Shop Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>
#include <algorithm>
using namespace std;

ifstream fin ("shop.in");
ofstream fout ("shop.out");

pair <pair<long long,long long>,long long > v[40];
long long n,i,sol,nr,C,L,w[40],p[40];

int main (){

    fin>>n>>C>>L;
    for (i=1;i<=n;i++){
        fin>>v[i].first.first>>v[i].first.second;
        v[i].second = i;
    }
    sort (v+1,v+n+1);
    /// calculam c^i
    p[0] = 1;
    for (i=1;i<=32;i++)
        p[i] = p[i-1]* C;

    for (i=n;i>=1;i--){

        nr = min (L/p[v[i].first.first],v[i].first.second);
        w[v[i].second] = nr;
        L -= nr*(p[v[i].first.first]);
        sol += nr;
        if (L == 0)
            break;
    }
    fout<<sol<<"\n";
    for (i=1;i<=n;i++)
        fout<<w[i]<<" ";


    return 0;
}