Pagini recente » Cod sursa (job #917490) | Cod sursa (job #2765065) | Cod sursa (job #2588388) | simulareblabla | Cod sursa (job #1312647)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
int n,s,coord1,coord2,coord3,sum,i,j,k,t,Max,st,dr,m,r[7],ok,f;
struct structura
{
int x,y,z,w;
}v[1000001];
int cmp(structura o, structura p)
{
if(o.x<=p.x)
return 1;
return 0;
}
int main()
{
fin>>n>>s;
fin>>coord1>>coord2>>coord3;
r[1]=coord1;
r[2]=coord2;
r[3]=coord3;
Max=s-coord1-coord2-coord3;
for(i=1;i<=n;i++)
for(j=i;j<=n;j++)
for(k=j;k<=n;k++)
{
sum=i+j+k;
t++;
v[t].x=sum;
v[t].y=i;
v[t].z=j;
v[t].w=k;
}
sort(v+1,v+t+1,cmp);
st=1;
dr=t;
while(st<=dr)
{
m=(st+dr)/2;
if(v[m].x>=Max)
if(v[m].x==Max)
{
r[4]=v[m].y;
r[5]=v[m].z;
r[6]=v[m].w;
ok=1;
break;
}
else
dr=m+1;
else
st=m-1;
}
if(ok==0)
fout<<-1;
else
for(f=1;f<=6;f++)
fout<<r[f]<<" ";
return 0;
}