Cod sursa(job #1452923)

Utilizator alexmisto342Turdean Alexandru alexmisto342 Data 22 iunie 2015 12:43:55
Problema Loto Scor 35
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.05 kb
#include <fstream>
#include <algorithm>
#include <vector>
#define x first
#define y second
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
int i,n,v[200],j,r,s,q,w,nr[2000000][3],z[2000000];
pair<int,int> m[2000000];
int main()
{
    fin>>n;
    fin>>s;
    for(i=1;i<=n;i++)
        fin>>v[i];
    w=0;
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
            for(q=1;q<=n;q++)
            {
                w++;
                m[w].x=v[i]+v[j]+v[q];
                m[w].y=w;
                nr[w][0]=i;
                nr[w][1]=j;
                nr[w][2]=q;
            }
    sort(m+1,m+1+w);
    for(i=1;i<=w;i++)
    {
        z[i]=m[i].x;
    }
    for(i=1;i<=w;i++)
    {int a,b;
        a=s-m[i].x;
        b=lower_bound (z+1,z+1+w, a)-z;
        if(m[b].x==a)
        {
            a=b;
            fout<<v[nr[m[i].y][0]]<<" "<<v[nr[m[i].y][1]]<<" "<<v[nr[m[i].y][2]]<<" "<<v[nr[m[a].y][0]]<<" "<<v[nr[m[a].y][1]]<<" "<<v[nr[m[a].y][2]];return 0;
        }
    }
    fout<<-1;

    return 0;
}