Cod sursa(job #2052673)

Utilizator sergiudnyTritean Sergiu sergiudny Data 30 octombrie 2017 21:27:00
Problema Loto Scor 85
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 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[3];
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 && !ok;++i) for(int j=1;j<=n && !ok;++j)
        for(int k=1;k<=n && !ok;++k)
            if(mp.find(s-v[i]-v[j]-v[k])!=mp.end()){
                ok=1;
                ans[1]=mp[s-v[i]-v[j]-v[k]],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;
}