Cod sursa(job #2554916)

Utilizator etienAndrone Stefan etien Data 23 februarie 2020 15:13:09
Problema Loto Scor 25
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.22 kb
#include<fstream>
#include<vector>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
const int K=666013;
int n,i,s,x,rest,v[101],j,k;
bool found;
struct loto
{
    int suma,i1,i2,i3;
};
vector<loto>r[K+1];
int main()
{
    fin>>n>>s;
    for(i=1;i<=n;i++)
        fin>>v[i];
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
            for(k=1;k<=n;k++)
            {
                loto sum;
                sum.suma=v[i]+v[j]+v[k];
                sum.i1=i;
                sum.i2=j;
                sum.i3=k;
                r[sum.suma%K].push_back(sum);
            }
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
            for(k=1;k<=n;k++)
            {
                int sum2=s-v[i]-v[j]-v[k];
                int r2=sum2%K;
                int dim=r[r2].size()-1;
                for(int l=0;l<=dim;l++)
                {
                    if(r[r2][l].suma==sum2)
                    if(!found)
                    {
                        found=true;
                        fout<<v[i]<<" "<<v[j]<<" "<<v[k]<<" "<<v[r[r2][l].i1]<<" "<<v[r[r2][l].i2]<<" "<<v[r[r2][l].i3];
                    }
                }
            }
    if(!found)
        fout<<-1;
}