Pagini recente » Cod sursa (job #185346) | Cod sursa (job #1810259) | Cod sursa (job #1506145) | Cod sursa (job #1647475) | Cod sursa (job #1508213)
#include <iostream>
#include<fstream>
using namespace std;
int scrisum( long long s, long long v[100],int i)
{
int j,suma=0;
for(j=1;j<=i;++j)
suma+=v[j];
if(suma<=s)
return 1;
else
return 0;
}
void sortare(long long a[100],int n)
{
long i, aux, j;
for(i=1; i<=n-1; i++)
for(j=i+1; j<=n; j++)
if( a[i] > a[j] )
{
aux = a[i];
a[i] = a[j];
a[j] = aux;
}
return;
}
int main()
{
int i,n,k=0;
long long s,v[100],x,apar[100];
ifstream f("loto.in");
ofstream g("loto.out");
f>>n>>s;
for(i=1;i<=n;++i)
{
f>>x;
v[i]=x;
}
sortare(v,n);
i=n;
while(i>=1)
{
if((s-v[i]>=0)&&scrisum(s,v,i)&&k<6)
{
s=s-v[i];
apar[++k]=v[i];
}
else
i--;
}
if(s==0)
for(i=k;i>=1;i--)
g<<apar[i]<<" ";
else
g<<-1;
return 0;
}