#include <iostream>
using namespace std;
void division(int* arr1, int n, int* arr2, int m, int* result) {
for (int k = (n - m); k >= 0; k--)
{
result[k] = arr1[k + m] / arr2[m];
for (int j = k + m - 1; j >=k; j--)
{
arr1[j] -= arr2[j-k] * result[k];
}
}
}
int main() {
int* arr1 = new int[4] {-42,0,-12,1};
int* arr2 = new int[2] {-3,1};
int* result = new int[4];
division(arr1, 3, arr2, 1, result);
for (int i=0; i < 4; i++) {
cout << result[i] << " " << arr1[i] << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBkaXZpc2lvbihpbnQqIGFycjEsIGludCBuLCBpbnQqIGFycjIsIGludCBtLCBpbnQqIHJlc3VsdCkgewogICAgZm9yIChpbnQgayA9IChuIC0gbSk7IGsgPj0gMDsgIGstLSkKICAgIHsKICAgICAgICByZXN1bHRba10gPSBhcnIxW2sgKyBtXSAvIGFycjJbbV07CiAKICAgICAgICBmb3IgKGludCBqID0gayArIG0gLSAxOyBqID49azsgai0tKQogICAgICAgIHsKICAgICAgICAgICAgICAgIGFycjFbal0gLT0gYXJyMltqLWtdICogcmVzdWx0W2tdOwogICAgICAgIH0KICAgIH0KfQoKaW50IG1haW4oKSB7CiAgICBpbnQqIGFycjEgPSBuZXcgaW50WzRdIHstNDIsMCwtMTIsMX07CiAgICBpbnQqIGFycjIgPSBuZXcgaW50WzJdIHstMywxfTsKICAgIGludCogcmVzdWx0ID0gbmV3IGludFs0XTsKICAgIGRpdmlzaW9uKGFycjEsIDMsIGFycjIsIDEsIHJlc3VsdCk7CiAgICBmb3IgKGludCBpPTA7IGkgPCA0OyBpKyspIHsKICAgIAljb3V0IDw8IHJlc3VsdFtpXSA8PCAiICIgPDwgYXJyMVtpXSA8PCBlbmRsOwogICAgfQogICAgCglyZXR1cm4gMDsKfQ==