Pagini recente » Cod sursa (job #693374) | Calibrare limite de timp | Istoria paginii runda/pregatire.banal/clasament | Istoria paginii runda/just_4_me/clasament | Cod sursa (job #1284333)
#include<fstream>
#include<algorithm>
#include<unordered_map>
#include<cstring>
#include<iterator>
using namespace std;
struct vect
{
int a,b,c;
}x;
int n,i,j,k,rez,sum,temp;
int v[105];
unordered_map<int,vect >mymap;
unordered_map<int,vect > :: iterator it,T;
int main()
{
ifstream f("loto.in");
ofstream g("loto.out");
f>>n>>sum;
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++)
{
temp=v[i]+v[j]+v[k];
if (!mymap[temp].a)
{
x.a=v[i],x.b=v[j],x.c=v[k];
mymap[temp]=x;
}
}
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
for(k=1;k<=n;k++)
{
temp=sum-v[i]-v[j]-v[k];
T=mymap.find(temp);
if (T!=mymap.end())
{
g<<v[i]<<" "<<v[j]<<" "<<v[k]<<" ";
g<<T->second.a<<" "<<T->second.b<<" "<<T->second.c<<"\n";
return 0;
}
}
g<<"-1\n";
return 0;
}