Cod sursa(job #2743630)

Utilizator Matei1905Matei Neagu Matei1905 Data 23 aprilie 2021 13:06:04
Problema Loto Scor 95
Compilator cpp-64 Status done
Runda Teme Pregatire ACM Unibuc 2014, Anul I Marime 1.4 kb
        #include <iostream>
        #include <fstream>
        #include <vector>
        #include <unordered_map>
        #include <string>
        #include <sstream>

        using namespace std;

        ifstream f("loto.in");
        ofstream g("loto.out");

        int N, S, dif, a, b;
        vector<int> v;
        unordered_map<int, string> m;

        string to_stringg(int x)
        {
            stringstream ss;
            ss << x;
            return ss.str();
        }
        
        int main()
        {
            int i, x, s1, s2, j; 
            f >> N >> S;
            for(i = 1; i <= N; i ++)
            {
                f >> x;
                v.push_back(x);
            }

            for(i = 0; i < N; i++)
                for(j = 0; j < N; j++)
                    m[v[i] + v[j]] = to_stringg(v[i]) + " " + to_stringg(v[j]);
            
            
            unordered_map<int,string>::iterator q, r;
            for(q = m.begin(); q != m.end(); q++)
                for(r = m.begin(); r != m.end(); r++)
                {
                    dif = S - q->first - r->first;
                    if(m.find(dif) != m.end())
                    {
                        g << q->second << " " << r->second << " " << m[dif];
                        return 0;
                    }
                }
            g << -1;
            return 0;
        }