Cod sursa(job #1372249)

Utilizator florinstanica24Stanica Florin florinstanica24 Data 4 martie 2015 12:26:29
Problema Loto Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.03 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
struct loto
{
    int x,y,z,s;
}v1[1000001];
int v[101];
int compara(loto a,loto b)
{
    if(a.s>b.s)return 1;
    else return 0;
}
int d(int p,int u,int s1)
{
    int mij;
    if(u-p<=1)
    {
        if(s1==v1[p].s)return p;
        else return 0;
    }
    else
    {
        mij=(p+u)/2;
        if(v1[mij].s>s1)d(p,mij,s1);
        else d(mij,u,s1);
    }
}
int main()
{
    ifstream f("in.txt");
    int n,nr=0,s1,i,j,k,ok;
    f>>n>>s1;
    for(i=1;i<=n;i++)f>>v[i];
    for(i=1;i<=n;i++)
    for(j=1;j<=n;j++)
    for(k=1;k<=n;k++)
    {
        nr++;
        v1[nr].x=v[i];
        v1[nr].y=v[j];
        v1[nr].z=v[k];
        v1[nr].s=v[i]+v[j]+v[k];
    }
    sort(v1+1,v1+n+1,compara);
    for(i=1;i<=nr;i++)
    {
        j=d(1,n,s1-v1[i].s);
        if(j!=0)
        {
            cout<<v1[i].x<<v1[i].y<<v1[i].z<<v1[j].x<<v1[j].y<<v1[j].z<<'\n';
            break;
        }
    }
    return 0;
}