Cod sursa(job #1415986)

Utilizator ovidiuz98Zamfir Ovidiu ovidiuz98 Data 7 aprilie 2015 00:37:01
Problema Loto Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.04 kb
#include <fstream>
#include <vector>
#define MOD 20003

using namespace std;

ifstream fin("loto.in");
ofstream fout("loto.out");
struct bilet{
    int x,y,z,val;
    bilet(int x,int y,int z,int val){
        this->x=x;
        this->y=y;
        this->z=z;
        this->val=val;
    }
};
vector <bilet> H[MOD];

int N,S,v[102];
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++){
                int sum=v[i]+v[j]+v[k];
                if(sum<=S){
                    int x=(S-sum)%MOD;
                    for(int d=0;d<H[x].size();d++)
                        if(H[x][d].val+sum==S){
                            fout<<v[i]<<" "<<v[j]<<" "<<v[k]<<" "<<H[x][d].x<<" "<<H[x][d].y<<" "<<H[x][d].z<<"\n";
                            return 0;
                        }
                    bilet h(v[i],v[j],v[k],sum);
                    H[sum%MOD].push_back(h);
                }
            }
    fout<<"-1\n";
}