Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include<string>
- using namespace std;
- int main()
- {
- int vesna, kire, desno, levo, n;
- cin >> vesna >> kire >> desno >> levo >> n;
- int a[n];
- for(int i = 0; i < n; i++) {
- cin >> a[i];
- }
- int min = 2000000000;
- if(vesna < kire) {
- if((kire - vesna) * desno < min) {
- min = (kire - vesna) * desno;
- }
- }
- else {
- if((vesna - kire) * levo < min) {
- min = (vesna - kire) * levo;
- }
- }
- if(n == 0) {
- cout << min << endl;
- return 0;
- }
- int najbliska_postojka_do_vesna = 2000000000;
- int najbliska_postojka_do_kire = 2000000000;
- for(int i = 0; i < n; i++) {
- if(vesna <= a[i]) {
- if((a[i] - vesna) * desno < najbliska_postojka_do_vesna) {
- najbliska_postojka_do_vesna = (a[i] - vesna) * desno;
- }
- }
- if(vesna >= a[i]) {
- if((vesna - a[i]) * levo < najbliska_postojka_do_vesna) {
- najbliska_postojka_do_vesna = (vesna - a[i]) * levo;
- }
- }
- if(kire >= a[i]) {
- if((kire - a[i]) * desno < najbliska_postojka_do_kire) {
- najbliska_postojka_do_kire = (kire - a[i]) * desno;
- }
- }
- if(kire <= a[i]) {
- if((a[i] - kire) * levo < najbliska_postojka_do_kire) {
- najbliska_postojka_do_kire = (a[i] - kire) * levo;
- }
- }
- }
- if(min > najbliska_postojka_do_kire + najbliska_postojka_do_vesna) {
- min = najbliska_postojka_do_kire + najbliska_postojka_do_vesna;
- }
- cout << min << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement