Привет всем!
Сегодня решая задачу на infromatics-e столкнулся с проблемой.
Я конечно пробывал решить задачу, но в итоге:
Spoiler
код решения
#include<bits/stdc++.h>
#define ll long long
#define fast ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
using namespace std;
int k;
int mod(string s) {
int r = 0;
for (int i = 0; i < s.length(); ++i) {
r *= 10;
r += s[i] — '0';
r %= k;
}
return r;
}
int32_t main() {
fast
string s;
cin >> s;
cin >> k;
int d;
cin >> d;
vector<int> dig(d);
for (auto &i: dig) {
cin >> i;
}
int p = mod(s);
if (p == 0) {
cout << s << endl;
return 0;
}
sort(dig.begin(), dig.end());
queue<string> q;
int cnt = 0;
q.push(s);
while (!q.empty()) {
auto t = q.front();
if (mod(t) == 0) {
cout << t;
return 0;
}
for (auto i: dig) {
string c = t;
c += char(i + 48);
q.push(c);
}
++cnt;
if ((cnt + d - 1) / d >= 10000 * d)
break;
q.pop();
}
cout << -1;
return 0;
}
/*
* @Nargulyev
*/
помогите пожалуйста!