Nu aveti permisiuni pentru a descarca fisierul grader_test6.ok
Cod sursa(job #2496254)
Utilizator | Data | 20 noiembrie 2019 16:34:17 | |
---|---|---|---|
Problema | Shop | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.93 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f("zaharel.in");
ofstream g("zaharel.out");
int n,c,L,a[31],t[31],i,j,v[31],w[31],z[31],nr,nrt,nrb[31];
void citire()
{
f>>n>>c>>L;
for(i=1;i<=n;i++)
{
f>>v[i]>>nrb[i];w[i]=i;
a[i]=pow(c,v[i]);
}
}
void sortare()
{
for(i=1;i<=n-1;i++)
for(int j=i+1;j<=n;j++)
if(a[i]<a[j])
{swap(a[i],a[j]);swap(w[i],w[j]);swap(nrb[i],nrb[j]);}
}
void sortare1()
{
for(i=1;i<=n-1;i++)
for(int j=i+1;j<=n;j++)
if(w[i]>w[j])
{swap(w[i],w[j]);swap(z[i],z[j]);swap(nrb[i],nrb[j]);}
}
void greedy()
{
for(i=1;i<=n;i++)
{
nr=min(nrb[i],L/a[i]);
L=L-nr*a[i];
z[i]=nr;
nrt+=nr;
}
}
void afisare()
{
for(i=1;i<=n;i++)
g<<z[i]<<" ";
}
int main()
{citire();
sortare();
greedy();
g<<nrt<<endl;
sortare1();
afisare();
}