Pagini recente » Infoarena Monthly 2014 - Clasament | Cod sursa (job #2261335) | Cod sursa (job #804025) | Cod sursa (job #2040736) | Cod sursa (job #854932)
Cod sursa(job #854932)
#include<fstream>
#include<vector>
#include<algorithm>
int main ()
{
std::ifstream in("loto.in");
long long n, suma;
std::vector<long long> numere, bilet;
in>>n>>suma;
for(int i = 0; i < n; i++)
{
long long aux;
in>>aux;
numere.push_back(aux);
}
std::ofstream out("loto.out");
n--;
sort(numere.begin(), numere.end());
while( n >= 0 )
{
if(numere[n] != 1)
{
long long cap = suma / numere[n] - 1;
for(int i = 1 ; i <= cap ; i++)
bilet.push_back(numere[n]);
suma -= cap * numere[n];
}
else
for(int i = 0; i < suma; i++)
bilet.push_back(1);
n--;
}
if(bilet.size() == 6)
for(int i = 0; i < bilet.size(); i ++)
out<<bilet[i]<<" ";
else out<<"-1";
out.close();
in.close();
}