Cod sursa(job #176823)

Utilizator firewizardLucian Dobre firewizard Data 11 aprilie 2008 18:38:11
Problema Loto Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.13 kb
#include <cstdio>   
#include <algorithm>   
  
using namespace std;   
  
long x[1000001];   
long nrx,i,j,k,n,s,g,sum,aux,poz1,poz2,t,p;   
long v[1310];   
  
void afis(long x)   
{   
    long i,j,k;   
    for (i=1;i<=n;i++)   
    for (j=1;j<=n;j++)   
    for (k=1;k<=n;k++)   
    if (v[i]+v[j]+v[k]==x)   
    {   
    printf("%d %d %d",v[i],v[j],v[k]);       
    return;   
    }           
}   
  
       
int main(){   
freopen("loto.in","r",stdin);   
freopen("loto.out","w",stdout);   
scanf("%d%d",&n,&s);   
for (i=1;i<=n;i++)scanf("%d",&v[i]);   
for (i=1;i<=n;i++)   
for (j=1;j<=n;j++)   
for (k=1;k<=n;k++)   
{   
nrx++;   
x[nrx]=v[i]+v[j]+v[k];   
}   
sort(x+1,x+nrx+1);   
t=nrx;   
p=1;   
while (p<=t)   
    {   
    while (x[p]+x[t]>s&&t>0)       
        t--;   
    if (x[p]+x[t]==s)   
        {   
        afis(x[p]);   
        printf(" ");   
        afis(x[t]);   
        printf("\n");   
        return 0;               
        }   
    if (t<=0)   
        break;   
    while (x[p]+x[t]<s&&p<=nrx)   
        p++;   
    }   
printf("-1\n");   
return 0;   
}