Pagini recente » Cod sursa (job #1422846) | Cod sursa (job #1379828) | Cod sursa (job #1683375) | Cod sursa (job #2314643) | Cod sursa (job #823724)
Cod sursa(job #823724)
#include<fstream>
#include<vector>
#define cst 666013
using namespace std;
int s, s2, s3;
vector<int>v[cst];// definirea unui vector de liste
int cautare(int s) {
int i, rest=s%cst;
for(vector<int>:: iterator it = v[rest].begin(); it!=v[rest].end(); ++it)
if(*it == s)
return 1;
/*for(i=0; i<v[rest].size(); i++)
if(s==v[rest][i])
return 1;*/
return -1;
}
int main() {
int i, j, k, n, ok=0, vec[10900];
ifstream f("loto.in");
ofstream g("loto.out");
f>>n>>s;
for(i=1;i<=n;i++)
f>>vec[i];
for(i=1;i<=n;i++)
for(j=i;j<=n;j++)
for(k=j;k<=n;k++) {
s2=vec[i]+vec[j]+vec[k];
v[s2%cst].push_back(s2);
if(cautare(s-s2)==1) {
g<<vec[i]<<" "<<vec[j]<<" "<<vec[k]<<" ";
i=j=k=n;
ok=1;
}
}
if(ok==1) {
for(i=1;i<=n;i++)
for(j=i;j<=n;j++)
for(k=j;k<=n;k++) {
s3=vec[i]+vec[j]+vec[k];
if(s3==s-s2) {
g<<vec[i]<<" "<<vec[j]<<" "<<vec[k];
i=j=k=n;
}
}
}
if(ok==0)
g<<-1;
f.close();
g.close();
return 0;
}