#include <iostream>
#include <vector>
using namespace std;
// Funkcja wczytuje stopień wielomianu i współczynniki
vector<int> wczytajWielomian(int &stopien) {
cin >> stopien;
vector<int> wspolczynniki(stopien + 1); // od a0 do aN
for (int i = stopien; i >= 0; i--) {
cin >> wspolczynniki[i];
}
return wspolczynniki;
}
// Funkcja oblicza wartość wielomianu dla podanej x
int obliczWartoscWielomianu(const vector<int> &wspolczynniki, int stopien, int x) {
int wynik = 0;
for (int i = 0; i <= stopien; i++) {
int potega = 1; // x^i
for (int j = 0; j < i; j++) {
potega *= x;
}
wynik += wspolczynniki[i] * potega;
}
return wynik;
}
int main() {
int stopien;
vector<int> wspolczynniki = wczytajWielomian(stopien);
int x;
cin >> x;
int wartosc = obliczWartoscWielomianu(wspolczynniki, stopien, x);
// Wyświetlenie wyniku w podanym formacie
cout << "stopien wielomianu : " << stopien << " | ";
for (int i = stopien; i >= 0; i--) {
cout << "a" << i << "=" << wspolczynniki[i] << " | ";
}
cout << "x=" << x << " | W(" << x << ")=" << wartosc << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCi8vIEZ1bmtjamEgd2N6eXR1amUgc3RvcGllxYQgd2llbG9taWFudSBpIHdzcMOzxYJjenlubmlraQp2ZWN0b3I8aW50PiB3Y3p5dGFqV2llbG9taWFuKGludCAmc3RvcGllbikgewogICAgY2luID4+IHN0b3BpZW47CgogICAgdmVjdG9yPGludD4gd3Nwb2xjenlubmlraShzdG9waWVuICsgMSk7IC8vIG9kIGEwIGRvIGFOCgogICAgZm9yIChpbnQgaSA9IHN0b3BpZW47IGkgPj0gMDsgaS0tKSB7CiAgICAgICAgY2luID4+IHdzcG9sY3p5bm5pa2lbaV07CiAgICB9CgogICAgcmV0dXJuIHdzcG9sY3p5bm5pa2k7Cn0KCi8vIEZ1bmtjamEgb2JsaWN6YSB3YXJ0b8WbxIcgd2llbG9taWFudSBkbGEgcG9kYW5laiB4CmludCBvYmxpY3pXYXJ0b3NjV2llbG9taWFudShjb25zdCB2ZWN0b3I8aW50PiAmd3Nwb2xjenlubmlraSwgaW50IHN0b3BpZW4sIGludCB4KSB7CiAgICBpbnQgd3luaWsgPSAwOwoKICAgIGZvciAoaW50IGkgPSAwOyBpIDw9IHN0b3BpZW47IGkrKykgewogICAgICAgIGludCBwb3RlZ2EgPSAxOyAvLyB4XmkKICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IGk7IGorKykgewogICAgICAgICAgICBwb3RlZ2EgKj0geDsKICAgICAgICB9CiAgICAgICAgd3luaWsgKz0gd3Nwb2xjenlubmlraVtpXSAqIHBvdGVnYTsKICAgIH0KCiAgICByZXR1cm4gd3luaWs7Cn0KCmludCBtYWluKCkgewogICAgaW50IHN0b3BpZW47CiAgICB2ZWN0b3I8aW50PiB3c3BvbGN6eW5uaWtpID0gd2N6eXRhaldpZWxvbWlhbihzdG9waWVuKTsKCiAgICBpbnQgeDsKICAgIGNpbiA+PiB4OwoKICAgIGludCB3YXJ0b3NjID0gb2JsaWN6V2FydG9zY1dpZWxvbWlhbnUod3Nwb2xjenlubmlraSwgc3RvcGllbiwgeCk7CgogICAgLy8gV3nFm3dpZXRsZW5pZSB3eW5pa3UgdyBwb2RhbnltIGZvcm1hY2llCiAgICBjb3V0IDw8ICJzdG9waWVuIHdpZWxvbWlhbnUgOiAiIDw8IHN0b3BpZW4gPDwgIiB8ICI7CiAgICBmb3IgKGludCBpID0gc3RvcGllbjsgaSA+PSAwOyBpLS0pIHsKICAgICAgICBjb3V0IDw8ICJhIiA8PCBpIDw8ICI9IiA8PCB3c3BvbGN6eW5uaWtpW2ldIDw8ICIgfCAiOwogICAgfQogICAgY291dCA8PCAieD0iIDw8IHggPDwgIiB8IFcoIiA8PCB4IDw8ICIpPSIgPDwgd2FydG9zYyA8PCBlbmRsOwoKICAgIHJldHVybiAwOwp9Cg==