Pagini recente » Cod sursa (job #1455375) | Cod sursa (job #2093307) | Cod sursa (job #718158) | Cod sursa (job #1033316) | Cod sursa (job #751141)
Cod sursa(job #751141)
#include <fstream>
#include <algorithm>
using namespace std;
long long v[1000];
typedef struct {int s,x,y;} PUNCT;
PUNCT w[1000001];
inline int cmp(PUNCT a, PUNCT b)
{
return(a.s<b.s);
}
int main()
{
ifstream f("loto.in");
ofstream g("loto.out");
long long n,i,j,OK=0,x,k,q,t,m;
long long S,S2;
f>>n; f>>S; k=0;
for(i=1;i<=n;i++)
{ f>>v[i];}
for(i=1;i<=n;++i)
{ for(j=i;j<=n;++j)
{ for(q=j;q<=n;++q)
{ w[++k].s=v[i]+v[j]+v[q];
w[k].x=i;
w[k].y=j;
}
}
}
sort(w+1,w+k+1,cmp);
OK=1;
i=0; j=k-1;
while((i<=j)&&(w[i].s+w[j].s!=S))
{ if(w[i].s+w[j].s>S) j--;
else i++;
}
if(w[i].s+w[j].s==S)
{ g<<w[i].x<<" "<<w[i].y<<" "<<w[i].s-w[i].x-w[i].y<<" "<<w[j].x<<" "<<w[j].y<<" "<<w[j].s-w[j].x-w[j].y;
}
else g<<-1;
f.close();
g.close();
return 0;
}