Pagini recente » Istoria paginii utilizator/alin.predoi | Atasamentele paginii Profil ilieandrei | Istoria paginii utilizator/danutz | Monitorul de evaluare | Cod sursa (job #548045)
Cod sursa(job #548045)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fi("tricouri.in");
ofstream fo("tricouri.out");
int A[300001],X[300001];
int n,m,i,j,p,ok,k,maxim;
int a1,a2;
int S[101];
void g(int k)
{
int i,t,suma;
if (k==a1 && ok==0)
{
for(i=1;i<=a1;i++)
{
fo<<A[i]<<" ";
suma=suma+S[i];
}
if(suma%a2==0)
{
//for(i=1;i<=a1;i++)
//cout<<S[i]<<" ";
ok=1;
fo<<endl<<suma<<endl;
}
}
else
{
for (i=maxim;i>=1;i--)
{
if (A[i]!=0)
{
S[k+1]=i;
t=1;
for (j=1;j<=k;j++)
{
if (S[j]==S[k+1])
t=0;
}
if (t==1)
{
g(k+1);
}
}
}
}
}
int main()
{
fi>>n>>m;
maxim=-1;
for (i=1;i<=n;i++)
{
fi>>A[i];
X[A[i]]++;
if (A[i]>maxim)
{
maxim=A[i];
}
}
for (k=1;k<=m;k++)
{
fi>>a1>>a2;
p=maxim;
ok=0;
g(0);
if (ok==0)
{
fo<<"-1"<<endl;
}
}
fi.close();
fo.close();
return 0;
}