Pagini recente » Cod sursa (job #1484220) | Cod sursa (job #1855570) | Cod sursa (job #1316960) | Cod sursa (job #1993299) | Cod sursa (job #674848)
Cod sursa(job #674848)
#include<iostream>
#include<fstream>
#include<vector>
using namespace std;
vector <int> a[666013];
int v[101],;
int cauta(int x)
{
int n,i,k;
k=x%666013;
n=int(a[k].size())-1;
for(i=0;i<=n;i++)
if(a[k][i]==x)
return 1;
return 0;
}
int main ()
{
int n,i,j,k,sum,c,d,s;
ifstream f("loto.in");
ofstream g("loto.out");
f>>n>>sum;
for(i=1;i<=n;i++)
f>>v[i];
f.close();
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
for(k=1;k<=n;k++) {
s=v[i]+v[j]+v[k];
a[s%666013].push_back(s);
}
d=0;
for(i=1;i<=n;i++) {
for(j=1;j<=n;j++) {
for(k=1;k<=n;k++) {
c=sum-(v[i]+v[j]+v[k]);
if(cauta(c)) {
g<<v[i]<<" "<<v[j]<<" "<<v[k]<<" ";
d=1;
break;
}
}
if(d==1)
break;
}
if(d==1)
break;
}
if(d==0)
g<<"-1";
else {
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
for(k=1;k<=n;k++) {
if(c==(v[i]+v[j]+v[k])) {
g<<v[i]<<" "<<v[j]<<" "<<v[k];
break;
}
}
}
g.close();
return 0;
}