Pagini recente » Cod sursa (job #199541) | Cod sursa (job #2514766) | Cod sursa (job #428821) | Cod sursa (job #38656) | Cod sursa (job #21192)
Cod sursa(job #21192)
#include <fstream>
using namespace std;
ifstream in("ghiozdan.in");
ofstream out("ghiozdan.out");
int N, greutate[20000], nr;
long int G, gSac;
int K1[201], K2[201];
void Citire()
{
in >> N >> G;
for( int i=1; i<=N; i++ )
{
in >> greutate[i];
K1[greutate[i]]++;
K2[greutate[i]]++;
}
}
void Solve()
{
int i;
for( i=200; i>=1; i-- )
{
while( i<=G && K1[i] )
{
K1[i]--;
gSac += i;
nr++;
G -= i;
}
}
out << gSac << " " << nr << endl;
for( i=1; i<=200; i++ )
{
while( K2[i] > K1[i] )
{
out << i << endl;
K2[i]--;
}
}
}
int main()
{
Citire();
Solve();
return 0;
}