Untitled
unknown
c_cpp
5 years ago
1.7 kB
4
Indexable
#include <iostream>
using namespace std;
int main()
{
int vesna, kire, desno, levo, n;
cin >> vesna >> kire;
cin >> desno >> levo;
cin >> n;
int niza[n];
for(int i = 0; i < n; i++) {
cin >> niza[i];
}
int najbliska_postojka_do_vesna = 20000000;
int najbliska_postojka_do_kire = 20000000;
// najbliskata postojka do vesna
for(int i = 0; i < n; i++) {
if(vesna <= niza[i]) {
int energija = (niza[i] - vesna) * desno;
if(najbliska_postojka_do_vesna > energija) {
najbliska_postojka_do_vesna = energija;
}
}
if(vesna >= niza[i]) {
int energija = (vesna - niza[i]) * levo;
if(najbliska_postojka_do_vesna > energija) {
najbliska_postojka_do_vesna = energija;
}
}
}
for(int i = 0; i < n; i++) {
if(kire <= niza[i]) {
int energija = (niza[i] - kire) * levo;
if(najbliska_postojka_do_kire > energija) {
najbliska_postojka_do_kire = energija;
}
}
if(kire >= niza[i]) {
int energija = (kire - niza[i]) * desno;
if(najbliska_postojka_do_kire > energija) {
najbliska_postojka_do_kire = energija;
}
}
}
int r = najbliska_postojka_do_kire + najbliska_postojka_do_vesna;
if(vesna < kire) {
if((kire - vesna) * desno < r) {
r = (kire - vesna) * desno;
}
}
else {
if((vesna - kire) * levo < r) {
r = (vesna - kire) * levo;
}
}
cout << r << endl;
return 0;
}
Editor is loading...