Pagini recente » Cod sursa (job #1659851) | Cod sursa (job #2266816) | Cod sursa (job #12727) | Cod sursa (job #1282498) | Cod sursa (job #297860)
Cod sursa(job #297860)
#include <cstdio>
using namespace std;
#define Nmax 20011
#define Lmax 201
int v,n,frecv[Lmax+1],gmax,suma,lmax,g,nr,sol[Nmax];
inline int max(int a, int b)
{
return a>b?a:b;
}
inline int min(int a, int b)
{
return a<b?a:b;
}
void read_data()
{
int i;
freopen("ghiozdan.in","r",stdin);
freopen("ghiozdan.out","w",stdout);
scanf("%d %d", &n,&g);
for (i=0;i<n;++i)
{
scanf("%d", &v);
lmax=max(lmax,v);
frecv[v]++;
}
}
void solve()
{
int i,j;
gmax=g;
nr=0;
for (i=Lmax;i>=1;--i)
for (;g>=i && frecv[i]!=0;frecv[i]--,g-=i)
sol[++nr]=i;
}
void write_data()
{
int i,j;
printf("%d %d\n", g,nr);
for (i=1;i<=nr;++i)
printf("%d\n", sol[i]);
}
int main()
{
read_data();
solve();
write_data();
return 0;
}