Pagini recente » Cod sursa (job #2211658) | Cod sursa (job #506374) | Cod sursa (job #2333998) | Cod sursa (job #223237) | Cod sursa (job #1887471)
#include <fstream>
using namespace std;
ifstream fin ("prod.in");
ofstream fout ("prod.out");
const int N = 1010;
int n, i, j, x[10], v[2][N], a[N], b[N], c[2 * N], t;
int main() {
for (i = 1; i <= 9; ++i) {
fin >> x[i];
}
for (i = 9 ; i > 0; --i) {
for (j = 1 ; j <= x[i]; j++, t^=1) {
v[t][++v[t][0]] = i;
}
if (v[0][0] > v[1][0]) {
for(i = i - 1; !x[i] && i > 0; --i);
if (!i) {
break;
}
v[1][++v[1][0]] = i;
x[i]--;
i++;
}
}
a[0] = v[0][0];
for (i = a[0]; i > 0; --i) {
a[a[0] - i + 1] = v[0][i];
}
b[0] = v[1][0];
for (i = b[0]; i > 0; --i) {
b[b[0] - i + 1] = v[1][i];
}
for (i = 1 ; i <= a[0]; ++i) {
for (t = 0, j = 1; j <= b[0] || t; j++, t /= 10) {
c[i + j - 1] = ( t += c[i + j - 1] + a[i] * b[j] ) % 10;
}
if (i + j - 2 > c[0]) {
c[0] = i + j - 2;
}
}
for (i = c[0]; i > 0; --i) {
fout << c[i];
}
return 0;
}