Cod sursa(job #2052678)

Utilizator sergiudnyTritean Sergiu sergiudny Data 30 octombrie 2017 21:30:58
Problema Loto Scor 85
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 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];
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(v[i]+v[j]+v[k]<=s)
            if(mp.find(s-v[i]-v[j]-v[k])!=mp.end()){
                fout<<mp[s-v[i]-v[j]-v[k]].x<<" "<<
                      mp[s-v[i]-v[j]-v[k]].y<<" "<<
                      mp[s-v[i]-v[j]-v[k]].z<<" "<<
                      v[i]<<" "<<v[j]<<" "<<v[k];
                return 0;
            }
    fout<<"-1";
    return 0;
}