Cod sursa(job #2092963)

Utilizator AlexPop28Pop Alex-Nicolae AlexPop28 Data 22 decembrie 2017 17:49:57
Problema Loto Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.09 kb
#include <fstream>
#include <vector>
#define Nmax 105
#define MOD 5171
using namespace std;
ifstream fin ("loto.in");
ofstream fout ("loto.out");
int n, v[Nmax], s, sum, sum1;
struct a{
    int sum, a, b, c;
};
vector <a> A[MOD];
void Read()
{
    fin >> n >> s;
    for(int i=1; i<=n; i++)
        fin >> v[i];
}
int main()
{
    Read();
    for(int i=1; i<=n; i++)
        for(int j=i; j<=n; j++)
            for(int k=j; k<=n; k++)
    {
        sum=v[i]+v[j]+v[k];
        sum1=sum%MOD;
        A[sum1].push_back({sum, v[i], v[j], v[k]});
    }
    for(int i=1; i<=n; i++)
        for(int j=i; j<=n; j++)
            for(int k=j; k<=n; k++)
    {
        sum=v[i]+v[j]+v[k];
        if(sum<=s)
        {
            sum1=(s-sum)%MOD;
            int Size=A[sum1].size();
            for(int l=0; l<Size; l++)
                if(A[sum1][l].sum==(s-sum))
            {
                fout << v[i] << " " <<v[j]<<" "<<v[k]<<" "<<A[sum1][l].a<<" "<<A[sum1][l].b<<" "<<A[sum1][l].c<<"\n";
                return 0;
            }
        }
    }
    fout << "-1\n";
}