Cod sursa(job #2052668)

Utilizator sergiudnyTritean Sergiu sergiudny Data 30 octombrie 2017 21:23:04
Problema Loto Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <bits/stdc++.h>
#define DM 105
#define pb push_back
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
struct mnvr {
    int x,y,z;
};
unordered_map<int,mnvr>mp;
int n,s,v[DM];
mnvr ans[2];
bool ok;

int main()
{
    fin>>n>>s;
    for(int i=1;i<=n;++i)
        fin>>v[i];

    for(int i=1;i<=n;++i) for(int j=1;j<=n;++j)
        for(int k=1;k<=n;++k)
            mp[v[i]+v[j]+v[k]]={v[i],v[j],v[k]};

    for(int i=1;i<=n;++i) for(int j=1;j<=n;++j)
        for(int k=1;k<=n;++k){
            int sum = v[i]+v[j]+v[k];
            if(mp.find(s-sum)!=mp.end()){
                ok=1;
                ans[1]=mp[s-sum],ans[2]={v[i],v[j],v[k]};
            }
        }
    if(ok)
        fout<<ans[1].x<<" "<<ans[1].y<<" "<<ans[1].z<<" "<<ans[2].x<<" "<<ans[2].y<<" "<<ans[2].z;
    else
        fout<<"-1";
    return 0;
}