Cod sursa(job #2202405)

Utilizator Bia104Furculesteanu Bianca Bia104 Data 8 mai 2018 18:23:51
Problema Loto Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.03 kb
#include <iostream>
#include<fstream>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.in");
struct pct
{
    int x,y;
}r[101];
int a[1001],n,s,j,v[1001],mx,p,z,i,aux,ok=1,nr;
int main()
{
    f>>n>>s;
    for(i=1; i<=n; i++)
    {
        f>>v[i];
    }
    for(i=1; i<n; i++)
    {
        mx=v[i];
        p=i;
        for(j=i+1; j<=n; j++)
            if(mx>v[j])
            {
                p=j;
                mx=v[j];
            }
        aux=v[i];
        v[i]=v[p];
        v[p]=aux;
    }
    for(i=1; i<=n; i++)
    {
        a[i]=v[i]+a[i-1];
    }

    for(i=n;i>=1;i--)
    {
        z=s/v[i];
        if(s-z*v[i]<=a[i-1])
            while(s-z*v[i]<a[i-1])
            z--;
        s=s-z*v[i];
        r[i].x=v[i];
        r[i].y=z;
        nr=nr+z;
        if(r[i].y==0||nr>6)
            ok=0;

    }
    if(ok)
    {if(s!=0)
        g<<-1;
    else
    {for(i=1;i<=n;i++)
        for(j=1;j<=r[i].y;j++)
           g<<r[i].x<<" ";}}
    else g<<-1;
    return 0;
}