Cod sursa(job #1022886)

Utilizator bghimisFMI Ghimis Bogdan bghimis Data 6 noiembrie 2013 08:33:38
Problema Loto Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.05 kb
#include<iostream>
#include<fstream>
#include<unordered_map>
#include<algorithm>
#include<vector>
using namespace std;
vector<int> v;
vector<int>::iterator it, jt, kt;
ifstream f("loto.in");
ofstream g("loto.out");
 
int sum, r, n, S, a, nr;
struct suma{
int a, b, c, s;
};
suma s1;
unordered_map<int, suma> m;
unordered_map<int, suma>::iterator imt;
void afisare(){
g<<m[sum].a<<' '<<m[sum].b<<' '<<m[sum].c<<' '<<m[S-sum].a<<' '<<m[S-sum].b<<' '<<m[S-sum].c<<'\n';
}
int main()
{
    f>>n>>S;
    for(int i=0; i<n; ++i){f>>a; v.push_back(a);}
 
    for(it=v.begin(); it!=v.end(); ++it)
    for(jt=it; jt!=v.end(); ++jt)
    for(kt=jt; kt!=v.end(); ++kt){
        sum=*it+*jt+*kt;
        s1.a=*it; s1.b=*jt; s1.c=*kt; s1.s=sum;
        m[sum]=s1;
    }
    for(imt=m.begin(); imt!=m.end(); ++imt){
        sum=imt->second.s;
        if(m.find(S-sum) != m.end()){
            //cout<<S-sum<<' '<<sum;
            afisare();
            g.close();
            return 0;
        }
    }
    g<<-1;
    g.close();
    return 0;
}